繁体   English   中英

左加入MySQL和PHP

[英]LEFT JOIN MySQL and PHP

我想对我的管理员面板进行一些统计。 我有两个名为用户和cms_prosjekt的表。 我想计算多少个项目具有与用户相同的属性。

每个用户都有一个座右铭,该座右铭已连接到项目。 例如:座右铭是精神,项目代码是精神。 它不会返回任何东西。 我有两个用户的座右铭与项目中的代码相同。

 <?php 

   $result = mysql_query("SELECT
      users.id,

      COUNT(users.motto) AS count
    FROM
      users
      LEFT JOIN cms_prosjekt ON
        users.motto=cms_prosjekt.code
    GROUP BY
      users.motto");
 $num_rows = mysql_num_rows($result);

  echo "$num_rows";

  ?>

查询应为count(*)并按用户分组。

 "SELECT
    user.motto
  , COUNT( * ) AS count
 FROM  users
 LEFT JOIN cms_prosjekt ON  users.motto=cms_prosjekt.code
 GROUP BY  users.motto"

分组依据应该是users.id而不是users.motto:

<?php
$result = mysql_query("SELECT users.id, COUNT(users.motto) AS count FROM users LEFT JOIN cms_prosjekt ON users.motto=cms_prosjekt.code GROUP BY (users.id)");
$num_rows = mysql_num_rows($result);
echo $num_rows;
?>

注意:我看不到左连接的任何值,您不需要cms_prosjek的任何数据,但是如果您以后使用它,我会保留它

我找到了解决方案,但是现在我想向查询添加特定的用户ID。 由于每个管理员都有自己的家庭区域,因此我想列出连接到特定管理员的所有用户。 每个管理员都在与用户一起创建项目。

我尝试了这个:

$result = mysql_query("SELECT users.motto, COUNT( * ) AS count FROM  users 
WHERE id = '".$_SESSION['user']['id']."'
LEFT JOIN cms_prosjekt ON  users.motto=cms_prosjekt.code 
GROUP BY  users.motto");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM