比如有个表T1a b c3 2 春
4 3 夏
0 9 春
7 4 冬
0 3 秋
1 0 春select count(a),count(b) from T1 group by c==============================我想求出的是a不等与0的个数,和b不等于0的个数,请问这样要什么实现。
4 3 夏
0 9 春
7 4 冬
0 3 秋
1 0 春select count(a),count(b) from T1 group by c==============================我想求出的是a不等与0的个数,和b不等于0的个数,请问这样要什么实现。
sum(case b when 0 then 0 else 1 end),
c
from T1
group by c
SUM(Case When a != 0 Then 1 Else 0 End) As Counta,
SUM(Case When b != 0 Then 1 Else 0 End) As Countb
From T1
(a Int,
b Int,
c Nvarchar(10))
Insert T1 Select 3, 2, N'春'
Union All Select 4, 3, N'夏'
Union All Select 0, 9, N'春'
Union All Select 7, 4, N'冬'
Union All Select 0, 3, N'秋'
Union All Select 1, 0, N'春'
GO
Select
SUM(Case When a != 0 Then 1 Else 0 End) As Counta,
SUM(Case When b != 0 Then 1 Else 0 End) As Countb
From T1
GO
Drop Table T1
--Result
/*
Counta Countb
4 5
*/