来自2个表的MySQL COUNT

时间:2012-09-18 03:43:08

标签: mysql sql group-by

我在我确定以前做过的事情上画了一个很大的空白,而且可能很简单。 唉,无论如何我都会请求帮助。

我有2张桌子: tbl_admins_groups tbl_admins

我正在对管理组表进行查询:

SELECT groupid,groupname,groupdesc FROM tbl_admins_groups

现在我想添加另一列来计算与该groupid相关联的管理记录的数量。

这是我的尝试:

SELECT g.groupid, g.groupname, g.groupdesc, COUNT(a.adminid) AS `admincount`
FROM `tbl_admins_groups` g, `tbl_admins` a
WHERE g.groupid = a.groupid
AND a.adminstatus = 1 
GROUP BY g.groupid 

出于某种原因,我只得到了一个结果。 我的GROUP BY不正确吗?

1 个答案:

答案 0 :(得分:4)

您可以在子查询中获取COUNT并将其与tbl_admins_groups

一起加入
SELECT g.groupid, g.groupname, g.groupdesc,
        a.totalCount
FROM   tbl_admins_groups g
       LEFT JOIN 
       (
            SELECT groupid, COUNT(*) totalCount
            FROM tbl_admins
            WHERE adminstatus = 1
            GROUP BY groupid
       ) a
            ON g.groupid = a.groupid