MySQL查询、计数问题

标签 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

列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/

相关文章:

mysql - 有没有办法遍历 MySQL 触发器中的所有字段而不是重复自己?

mysql - 无法在 Lag() 中使用 Count(*)

sql - 根据 SQL 条件分配季度数和年份数

php - 在单个 div 中使用两个表

Mysql查询以获取每月的计数

mysql - PHP 关联数组 : special character?

mysql - 从表中选择日期,其中我的列表中的所有条目都在该日期的表中

mysql - 如何在有条件的 Sequelize 中使用 LEFT JOIN?

sql - 在非不同索引上使用递归 cte 计算不同行

php - 从 xml 变量中过滤掉撇号