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

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.连接我的数据库

数据库练习题(2005-05-09 胜)_第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','负');

数据库练习题(2005-05-09 胜)_第2张图片

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;

数据库练习题(2005-05-09 胜)_第3张图片

你可能感兴趣的:(Java)