SQLServer 的case when语句使用实现统计
已知有表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 0
end
另一种用法是
case when result_info ='win' then 1
else 0
end
case when 语句在判断性别时也是常用的
如在数据库中性别在表中存的是数字1、2,但是希望查询出来男、女
select (case gender when 1 then '男’
when 2 then '女'
else ‘其他’
end) as gender from Table1;
SQLServer 的case when语句使用实现统计的更多相关文章
- SQLSERVER读懂语句运行的统计信息
		SQLSERVER读懂语句运行的统计信息 对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间.执行时间.做了多少次磁盘读等. 如果DBA能够把问题语句单独测试运行,可以在运行 ... 
- SQL Server读懂语句运行的统计信息 SET STATISTICS TIME IO PROFILE ON
		对于语句的运行,除了执行计划本身,还有一些其他因素要考虑,例如语句的编译时间.执行时间.做了多少次磁盘读等. 如果DBA能够把问题语句单独测试运行,可以在运行前打开下面这三个开关,收集语句运行的统计信 ... 
- 记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?)
		记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?) 前几天帮客户优化一个数据库,那个数据库的大小是6G 这麽小的数据库按道理不会有太大的性能问题的, ... 
- SQL 结合CASE WHEN 实现二维统计
		在开发中往往要用到类似下面的二维统计: a b type1 54 65 type2 54 54 在SQL中使用CASE WHEN 语句可以很轻松的实现: SELECT SUM(CASE WHEN ... 
- SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第三篇)
		SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第三篇) 最近真的没有什么精力写文章,天天加班,为了完成这个系列,硬着头皮上了 再看这篇文章之前请大家先看我之前写的第一篇和第二篇 第一篇: ... 
- 简单三个表之间关联  与  case when语句的应用
		select p.conttract_id,l.order_code,jz.cur_branch from wy_auto_workflow_log l,wg_pjhsb p,wg_jzmb jz w ... 
- case when语句后的表达式
		SQL中Case When语句的语法如下 Simple CASE expression: CASE input_expression WHEN when_expression THEN result_ ... 
- mysql-函数CASE WHEN 语句使用说明
		mysql数据库中CASE WHEN语句. case when语句,用于计算条件列表并返回多个可能结果表达式之一. CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以 ... 
- oracle:case when 语句的区间用法
		在练习case when 语句时,碰到一个例子,结果答案根本就不对,语法就通不过,开始想着是不是case 只能是一个固定的取值,毕竟例子内给的都是case是个固定的值,后来网上查了好久才发现还有区间的 ... 
随机推荐
- [知乎]BAT占线
			黑色自有,蓝色全资收够,红色入股. https://www.zhihu.com/question/304396738/answer/547766603 
- Elk 进阶部署
			虚拟机两台: 192.168.1.42 192.168.1.46 系统环境保持一致: cat /etc/redhat-release uname -a elk准备环境保持一致: elasticsear ... 
- P2824 [HEOI2016/TJOI2016]排序
			题面 这是一道非常巧妙的线段树的题 我们会发现维护\(1 \sim n\)的序列非常困难,但如果我们维护\(01\)序列的的顺序,就非常容易了 但是我们怎么能把这道题变成维护\(01\)序列的顺序呢? ... 
- mininet *** Error: RTNETLINK answers: No such file or directory 问题及解决方法
			一.问题 按照mininet官网中从源码安装步骤进行安装后,运行命令sudo mn --link tc,bw=10,提示说*** Error: RTNETLINK answers: No such f ... 
- Minimum Sum LCM UVA - 10791(分解质因子)
			对于一个数n 设它有两个不是互质的因子a和b 即lcm(a,b) = n 且gcd为a和b的最大公约数 则n = a/gcd * b: 因为a/gcd 与 b 的最大公约数也是n 且 a/gcd ... 
- Cat VS Dog HDU - 3829 (最大独立集 )
			Cat VS Dog Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)Total ... 
- 【刷题】BZOJ 1924 [Sdoi2010]所驼门王的宝藏
			Description Input 第一行给出三个正整数 N, R, C. 以下 N 行,每行给出一扇传送门的信息,包含三个正整数xi, yi, Ti,表示该传送门设在位于第 xi行第yi列的藏宝宫室 ... 
- 洛谷P2633 Count on a tree(主席树,倍增LCA,树上差分)
			洛谷题目传送门 题目大意 就是给你一棵树,每个点都有点权,每次任意询问两点间路径上点权第k小的值(强制在线). 思路分析 第k小......又是主席树了.但这次变成树了,无法直接维护前缀和. 又是树上 ... 
- Dubbo 生态添新兵,Dubbo Admin 发布 v0.1
			为了提升 Dubbo 里程碑版本2.7.0的使用体验,我们于去年年中启动了 Dubbo Admin 的重构计划,并作为Dubbo生态的子项目,于近期发布了v0.1,重构后的项目在结构上的变化如下: 将 ... 
- AtCoder Grand Contest 008
			AtCoder Grand Contest 008 A - Simple Calculator 翻译 有一个计算器,上面有一个显示按钮和两个其他的按钮.初始时,计算器上显示的数字是\(x\),现在想把 ... 
