SQL计数不同的值

时间:2014-11-19 18:28:36

标签: sql sql-server

我试图弄清楚如何在等于不同条件的情况下输入字段的数量。

例如我有一个

SELECT DISTINCT FileName, ReasonCode
from TBL1

,其中 我希望能够选择一个不同的文件名并显示ReasonCode = x的计数(将此列的名称命名为x),ReasonCode = y(将此列的名称命名为y),ReasonCode = z(z的计数)。< / p>

我想为这个不同的文件名输出所有这一行。

因此它有一个FileName字段,x字段的数量,y字段的数量和z字段的数量

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

SELECT FileName,
       sum(case when ReasonCode = 'x' then 1 else 0 end) as x_count,
       sum(case when ReasonCode = 'y' then 1 else 0 end) as y_count,
       sum(case when ReasonCode = 'z' then 1 else 0 end) as z_count
from TBL1
group by FileName