如何从列

时间:2016-05-06 09:30:33

标签: sql sql-server tsql

我有这样的表

ID Specified TIN
-----------------
1       0   tin1   
2       0   tin1  
3       1   tin1    
4       0   tin2  
5       0   tin3   
6       1   tin3 
7       1   tin3  

我需要计算由TIN,指定列组成的行 - 但每个TIN的结果应该是一行:

TIN   ZEROSpecified   NOTZEROSpecified
tin1       2                 1
tin2       0                 1
tin3       1                 2

重要提示 - 我只有2个指定列的值 - 0和1

2 个答案:

答案 0 :(得分:6)

SELECT TIN, 
SUM(case when Specified=0 then 1 else 0 end) as ZeroSpecified,
SUM(case when Specified<>0 then 1 else 0 end) as NOTZEROSpecified
FROM table
GROUP BY TIN

答案 1 :(得分:1)

非常简单;

SELECT
TIN
,SUM(CASE WHEN Specified = 0 THEN 1 ELSE 0 END) ZEROSpecified
,SUM(CASE WHEN Specified <> 0 THEN 1 ELSE 0 END) NotZEROSpecified
FROM TableName
GROUP BY TIN