一、分组统计
数据
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
还可以用子查询
