3

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

我有 2 张桌子: tbl_admins_groups tbl_admins

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

SELECT groupid, groupname, groupdesc FROMtbl_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 不正确吗?

4

1 回答 1

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
于 2012-09-18T03:48:20.223 回答