谢谢大家 - 已解决!
我有以下代码:
SELECT region, division, SUM(staff_count) AS Total_Staff,
(SELECT COUNT(region) FROM tresults_xyc WHERE division = 'Central' GROUP BY region) AS Total_Responses
FROM `trespondent_xyc`
WHERE division = 'Central'
GROUP BY region
它返回以下内容:
region division Total_Staff Total_Responses
1 Central 212 8
2 Central 168 8
3 Central 164 8
4 Central 180 8
列region、division和Total_Staff中包含的信息是正确的。
但是,Total_Responses 列不是 - 它显示的是该部门而不是每个区域的响应总数。
谁能给点建议吗?
提前致谢,
荷马。
最佳答案
你必须这样做:
SELECT region, division, SUM(staff_count) AS Total_Staff,
(
SELECT COUNT(*)
FROM tresults_xyc t2
WHERE t2.region = t1.region
) AS Total_Responses
FROM `trespondent_xyc` t1
WHERE division = 'Central'
GROUP BY region
关于MySQL查询、计数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6571097/