感谢所有人 - 解决了!
我有以下代码:
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
colomns区域,除法和Total_Staff中包含的信息是正确的。
但是,Total_Responses colomn不是 - 显示该部门的响应总数而不是每个地区。
有人可以提供建议吗?
提前致谢,
荷马。
答案 0 :(得分:2)
你必须这样做:
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
答案 1 :(得分:0)
试
SELECT region, division, SUM(staff_count) AS Total_Staff, (SELECT COUNT(region) FROM tresults_xyc WHERE division = 'Central' and region = xx.region GROUP BY region) AS Total_Responses
FROM `trespondent_xyc` xx
WHERE division = 'Central'
GROUP BY region