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是个固定的值,后来网上查了好久才发现还有区间的 ... 
随机推荐
- [转帖]SSL/TLS/WTLS原理
			SSL/TLS/WTLS原理 作者:yawl < yawl@nsfocus.com >主页:http://www.nsfocus.com日期:2001-02-19 一 前言 首先要澄清一下 ... 
- 2013长春网赛1004 hdu 4762 Cut the Cake
			题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4762 题意:有个蛋糕,切成m块,将n个草莓放在上面,问所有的草莓放在同一块蛋糕上面的概率是多少.2 & ... 
- 08.基于IDEA+Spring+Maven搭建测试项目--Maven的配置文件settings.xml
			<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ... 
- Python 通过gevent实现协程
			#coding:utf-8-*- '''协程(coroutine)又称微线程.纤程,是一种用户级的轻量级线程.协程有自己的寄存器上下文和栈.携程调度时,将寄存器上下文和栈 保存,在切换回来的时候恢复保 ... 
- 解题:NOI 2014 随机数生成器
			题面 为什么NOI2014有模拟题=.=??? 按题意把序列生成出来之后,对每一行维护一个能取到的最左侧和能取到的最右侧.从小到大$O(n^2)$枚举数字看看能否填入,能填入则暴力$O(n)$更新信息 ... 
- 解题:NOI 2012 骑行川藏
			题面 入手点是每段路程中能量$e$与时间$t$的关系,$t-e$这个函数的导数对于各个路段一样,否则我们可以从导数大的一段路抽出一部分能量分给导数小的,这样会更优 毕姥爷在考场上的做法:猜一猜,然后拿 ... 
- 关于http请求时  安全协议问题  PKIX path building failed  解决办法
			该问题的解决办法 1.在请求前需要将证书导入,不推荐 2.绕开安全协议处理 下面的代码时一段http请求并且绕开安全协议.可直接使用 /** * * @param url 需要请求的网 ... 
- pthread_detach
			http://blog.csdn.net/scanery/article/details/7241890 感谢作者! 近来发现 在线程函数第一行调用 pthread_detach(pthread_ ... 
- sqlserver收缩日志的几种方式
			sqlserver收缩日志的几种方式 [sql] --参考 压缩日志及数据库文件大小 /*--特别注意 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可 ... 
- net.sf.json------json解析
			下载地址 [plain] view plain copy 本次使用版本:http://sourceforge.net/projects/json-lib/files/json-lib/json-l ... 
