数据库练习题(2005-05-09 胜)

版权声明:本文为博主原创文章,未经博主允许不得转载。 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;

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_16845639/article/details/78084255
今日推荐