0

列が X に等しい SQL でカウント操作を実行する方法はありますか? 理想的には、同じ列が 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 に答える