从此表
D_value ------- A B B C C C
在此表中显示计数D_Value
A | B | C --------- 1 | 2 | 3
答案 0 :(得分:2)
要获得单行,请使用此功能。
SELECT
COUNT(CASE WHEN D_Value = 'A' THEN 1 END) AS A,
COUNT(CASE WHEN D_Value = 'B' THEN 1 END) AS B,
COUNT(CASE WHEN D_Value = 'C' THEN 1 END) AS C
FROM
MyTable
这适用于有限和固定数量的值来计算
如果你不知道有多少不同的值,那么你需要做一个简单的聚合并在客户端代码中创建一行。
SELECT D_value, COUNT(*) FROM MyTable GROUP BY D_value;
但是,对于不存在的值,这不会给出零计数。所以你需要一个查找表和LEFT JOIN。我不会去那里......
答案 1 :(得分:0)
select D_value,count(*) from table group by D_value;