一、分组统计
数据
name dtdate result aa 2017-01-04 1 aa 2017-01-04 1 aa 2017-01-05 1 aa 2017-01-05 0 bb 2017-01-04 1 bb 2017-01-04 1 cc 2017-01-04 0 dd 2017-01-04 1
结果
name dtdate win lose aa 2017-01-04 2 0 bb 2017-01-04 2 0 cc 2017-01-04 0 1 dd 2017-01-04 1 0 aa 2017-01-05 1 1
演示代码
create table #t ( name varchar(48), dtdate date, result int ) insert into #t values ('aa','2017-01-04',1), ('aa','2017-01-04',1), ('aa','2017-01-05',1), ('aa','2017-01-05',0), ('bb','2017-01-04',1), ('bb','2017-01-04',1), ('cc','2017-01-04',0), ('dd','2017-01-04',1) select name,dtdate,SUM(case when result=1 then 1 else 0 end) 'win', sum(case when result=0 then 1 else 0 end ) 'lose' from #t group by name,dtdate
还可以用子查询