有没有一种方法可以使用 SQL 执行计数操作,其中列等于 X,理想情况下,当同一列等于 Y 和 Z 时,单独计数?
问问题
78 次
4 回答
3
SELECT yourcolumn, COUNT(*) AS cnt
FROM yourtable
WHERE yourcolumn IN ('X', 'Y', 'Z')
GROUP BY yourcolumn
于 2013-03-06T14:08:49.723 回答
2
像这样的东西?
select
sum(case when val = 'x' then 1 else 0 end) as countX
,sum(case when val = 'y' then 1 else 0 end) as countY
,sum(case when val = 'z' then 1 else 0 end) as countZ
from table
于 2013-03-06T14:08:37.750 回答
0
我建议如下:
SELECT YourColumn, COUNT(<Any Column of your table>)
FROM YourTable
GROUP BY YourColumn
于 2013-03-06T14:13:44.597 回答
0
我相信以下(较短的)语句应该适用于 MySQL:
SELECT COUNT(val='X'), COUNT(val='Y'), COUNT(val='Z') FROM ...
于 2013-03-06T14:14:05.893 回答