我在我确定以前做过的事情上画了一个很大的空白,而且可能很简单。 唉,无论如何我都会请求帮助。
我有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不正确吗?
答案 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