首页 > 数据库技术 > 详细

sql - 面试

时间:2014-12-13 19:15:50      阅读:290      评论:0      收藏:0      [点我收藏+]

一,关于 group by

表内容: 
2005-05-09 胜 
2005-05-09 胜 
2005-05-09 负 
2005-05-09 负 
2005-05-10 胜 
2005-05-10 负 
2005-05-10 负

 需要生成结果为:

 

Fday 胜 负
2005/5/9 2 2
2005/5/10 1 2

建表:

bubuko.com,布布扣
1 create table t_com(Fday varchar(10),Fwin_lose nchar(1))
2 insert into t_com values(‘2005-05-09‘,‘胜‘)
3 insert into t_com values(‘2005-05-09‘,‘胜‘)
4 insert into t_com values(‘2005-05-09‘,‘负‘)
5 insert into t_com values(‘2005-05-09‘,‘负‘)
6 insert into t_com values(‘2005-05-10‘,‘胜‘)
7 insert into t_com values(‘2005-05-10‘,‘负‘)
8 insert into t_com values(‘2005-05-10‘,‘负‘)
View Code

答案:

bubuko.com,布布扣
1 --解释:sum中的then后的数字表示‘代表几‘,如‘1‘表示‘出现一个记录,基数加1‘.
2 
3 select Fday [日期],
4 SUM(case when Fwin_lose=‘胜‘ then 1 else 0 end) [胜],
5 SUM(case when Fwin_lose=‘负‘ then 1 else 0 end) [负]
6  from t_com group by Fday
View Code

 

sql - 面试

原文:http://www.cnblogs.com/listened/p/4161707.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!