MySQL Query,Count问题

时间:2011-07-04 11:53:01

标签: mysql count

感谢所有人 - 解决了!

我有以下代码:

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不是 - 显示该部门的响应总数而不是每个地区。

有人可以提供建议吗?

提前致谢,

荷马。

2 个答案:

答案 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