id num est
1 a 0
2 a 0
3 b 0
4 b 1
5 b 1
6 a 1
这句SQL怎么写按照num、和 est=1分类,
结果----------------
分类 num的个数 num中est为1的个数
1 a 3 1
2 b 3 2
1 a 0
2 a 0
3 b 0
4 b 1
5 b 1
6 a 1
这句SQL怎么写按照num、和 est=1分类,
结果----------------
分类 num的个数 num中est为1的个数
1 a 3 1
2 b 3 2
insert into @t values(1 , 'a' , 0)
insert into @t values(2 , 'a' , 0)
insert into @t values(3 , 'b' , 0)
insert into @t values(4 , 'b' , 1)
insert into @t values(5 , 'b' , 1)
insert into @t values(6 , 'a' , 1)
select num,count(num) as num的个数,sum(est) as num中est为1的个数 from @T group by num
num num的个数 num中est为1的个数
---------- ----------- ------------
a 3 1
b 3 2如果要求num中est为x的个数则改为
select num,count(num) as num的个数,sum(case est when x then 1 else 0 end) as num中est为x的个数 from @T group by num