我有这样一张桌子:
id|category
其中category是0到3之间的整数.如何计算每个类别中的行数.是否可以在单个查询中?
F.X.如果我有这些行:
a|3
b|1
d|1
f|0
g|2
结果应该是:
(1,2,1,1)
即. 1个类别= 0,2个类别= 1个等
最佳答案:
这将为每个类别提供一行.
SELECT category, COUNT(*) as catcount
FROM YourTable
GROUP BY category
要以您指定的确切格式获得输出(1行,4列):
SELECT SUM(CASE WHEN category = 0 THEN 1 ELSE 0 END) AS cat0count,
SUM(CASE WHEN category = 1 THEN 1 ELSE 0 END) AS cat1count,
SUM(CASE WHEN category = 2 THEN 1 ELSE 0 END) AS cat2count,
SUM(CASE WHEN category = 3 THEN 1 ELSE 0 END) AS cat3count
FROM YourTable
标签:count,mysql,sum
来源: https://codeday.me/bug/20190515/1109307.html