来自2个表的MySQL计数

来自2个表的MySQL计数,mysql,sql,group-by,Mysql,Sql,Group By,我确信我以前做过的事情,可能很简单,但现在我却在画一个巨大的空白。 唉,无论如何我都要请求帮助 我有两张桌子: tbl\u管理员组 tbl_管理员 我正在从admin group表中提取一个查询: 从tbl\u admins\u groups SELECT g.groupid, g.groupname, g.groupdesc, a.totalCount FROM tbl_admins_groups g LEFT JOIN (

我确信我以前做过的事情,可能很简单,但现在我却在画一个巨大的空白。 唉,无论如何我都要请求帮助

我有两张桌子:
tbl\u管理员组
tbl_管理员

我正在从admin group表中提取一个查询:

tbl\u admins\u 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
现在我想添加另一列,计算与该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 
出于某种原因,我只得到了一个结果。
“我的分组方式”不正确吗?

您可以在子查询中获取它们的
计数,并将其与
tbl\u管理员组连接起来

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

tbl\u admins
是否为
tbl\u admins\u组中的每个组包含一行?如果没有,您可能需要使用左连接。是的,tbl_admins中的每一行都分配了一个groupid。