[英]Loop multiple sums mysql
对于报告工具即时消息构建,我希望能够计算到目前为止每个国家/地区已记录的“事件”数量,我有以下查询:
SELECT 'country',
COUNT(*) AS total,
SUM(CASE WHEN `country` = 'USA' THEN 1 ELSE 0 END) AS USCount,
SUM(CASE WHEN `country` = 'Canada' THEN 1 ELSE 0 END) AS CanadaCount
FROM events WHERE `date` > '2015-06-01' AND `date` < '2015-08-01'
唯一的问题是,当我开始将其他国家加入进来时,案件将变得越来越庞大。 有没有一种方法可以遍历国家/地区来检索每个国家/地区的所有不同计数? 谢谢。
请尝试以下SQL语句:
Select country, count (*)
From events
Group by country
按国家/地区名称进行分组,以使国家/地区明智
SELECT country,
COUNT(*) AS total
FROM events WHERE `date` > '2015-06-01' AND `date` < '2015-08-01' group by country;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.