0

有没有一种方法可以使用 SQL 执行计数操作,其中列等于 X,理想情况下,当同一列等于 Y 和 Z 时,单独计数?

4

4 回答 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 回答