版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16845639/article/details/78084255
1.一道SQL语句面试题,关于group by
表内容:
2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负
如果要生成下列结果, 该如何写sql语句?
胜 负
2005-05-09 2 2
2005-05-10 1 2
1.连接我的数据库
2.创建表tmp
create table tmp(rq varchar(10),shengfu nchar(1));
3.插入数据
insert into tmp values('2015-05-09','胜'),('2015-05-09','胜'),('2015-05-09','负'),('2015-05-09','负'),('2015-05-10','胜'),('2015-05-10','负'),('2015-05-10','负');
4.按条件查询
select rq,sum(case when shengfu='胜' then 1 else 0 end)'胜',sum(case when shengfu='负' then 1 else 0 end)'负' from tmp group by rq;