博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQLServer 的case when语句使用实现统计
阅读量:5366 次
发布时间:2019-06-15

本文共 1060 字,大约阅读时间需要 3 分钟。

                                                                                                                        已知有表game_info 如下

date_info

result_info
2018-2-4   win      
2018-2-4 lose
2018-2-4 win
2018-2-4    lose
2018-2-5 lose
2018-2-5   lose
2018-2-5 lose

                                    问如何查询得到如下结果?

date_info win lose
2018-2-4 2 2
2018-2-5 0 3

 

首先创建表create table game_infdate_info not null,

result_info  varchar(5) check(result_info in('win','lose'))); //插入数据 insert into game_info values('2018-2-4','win'),('2018-2-5','lose'); //查询语句 select date_info ,sum(case result_info when 'win' then 1 else 0 end) as win,sum( case result_info when 'lose' then 1 else 0 end) as lose from game_info group by date_info order by date_info asc;
 
 

这里要说明的是case when语句的使用,

case when 有两种用法

case  result_info     when  'win' then 1    else  0end

另一种用法是

case when  result_info ='win' then 1    else 0end

case when 语句在判断性别时也是常用的

如在数据库中性别在表中存的是数字1、2,但是希望查询出来男、女

select  (case gender  when  1 then '男’                                 when  2   then  '女'                                 else  ‘其他’              end) as gender from  Table1;

 

转载于:https://www.cnblogs.com/gaochaochao/p/9157268.html

你可能感兴趣的文章
[sql]mysql启停脚本
查看>>
[elk]Mutate filter plugin增删改查字段
查看>>
Java内功心法,行为型设计模式
查看>>
向github项目push代码后,Jenkins实现其自动构建
查看>>
jquery中的ajax方法参数的用法和他的含义
查看>>
BZOJ 1226: [SDOI2009]学校食堂Dining
查看>>
数组去重的几种方法
查看>>
包装类的自动装箱与拆箱
查看>>
ShareSDk的使用
查看>>
android使用web加载网页的js问题
查看>>
libvirt log系统分析
查看>>
poj 1068 Parencodings
查看>>
docker 数据卷管理
查看>>
adb
查看>>
Apache Tomcat部署java web项目
查看>>
转泛型
查看>>
【8.22校内测试】【数学】【并查集】【string】
查看>>
第二周 9.6-9.12
查看>>
347. Top K Frequent Elements
查看>>
angular4.0配置同时使用localhost和本机IP访问项目
查看>>