mysql中的case_Mysql之case语句(附带实例)这段时间,做项⽬做累了,好不容易有点个⼈的学习时间,利⽤这个⼩时,总结⼀下,最近做统计的时候常⽤的case语句吧。
powerful mothering结构:case  when… then …end
1.判断的同时改变其值
eg:
select OperatorAccount,
case
when CreateTime>'2016-02-14 16:24:42' then 'after'
continue语句可以使用在任一种语句体内
when CreateTime
else 'now' end stage
from log_login order by CreateTime DESC
第⼆种写法
SELECT CallerNumber, CASE IsLocal
WHEN 0 THEN '外线'
WHEN 1 THEN '内线' END
FROM cdr
2.拆分⼀⾏为多列
eg:
SELECT SipAccount, COUNT(1) AS number,IsCheck
FROM cdr
GROUP BY SipAccount,IsCheck
针对这个统计结果进⾏拆分(0表⽰未打分,1代表优秀,2代表合格,3代表不合格)
最终结果如下:
所以最终要⽤到⾏拆分成三列,语句如下
SELECT SipAccount,
(CASE IsCheck WHEN 1 THEN number END) youxiu,
(CASE IsCheck WHEN 2 THEN number END) hege,
(CASE IsCheck WHEN 3 THEN number END) buhege
FROM
(SELECT SipAccount, COUNT(1) AS number,IsCheck
FROM cdr
GROUP BY SipAccount,IsCheck) AS a
现在结果是这样的,你会发现虽然拆成了三列,但是最终结果还不是⾃⼰需要的,接下来就需要根据sipaccount来分组的同时对结果进⾏处理了。语句如下:
SELECT sipaccount,
IF(MAX(youxiu) IS NULL,0, MAX(youxiu)) youxiu,
IF(MAX(hege) IS NULL,0, MAX(hege)) hege,
IF(MAX(buhege) IS NULL,0, MAX(buhege)) buhege
FROM
(SELECT SipAccount,
(CASE IsCheck WHEN 1 THEN number END) youxiu,
(CASE IsCheck WHEN 2 THEN number END) hege,
(CASE IsCheck WHEN 3 THEN number END) buhege
FROM
(SELECT SipAccount, COUNT(1) AS number,IsCheck FROM cdr GROUP BY SipAccount,IsCheck) AS a) AS b
GROUP BY sipaccount
最终得到了这个结果。正式我们需要的格式
MySQL存储过程 CASE语句
MySQL存储过程  CASE语句 除了IF语句,MySQL提供了⼀个替代的条件语句CASE. MySQL CASE语句使代码更加可读和⾼效. CASE语句有两种形式:简单的搜索CASE语句. 简单C ...
linux bash shell中case语句的实例
ORACLE PL/SQL 实例精解之第五章 条件控制:CASE语句
5.1 CASE语句 1. CASE语句具有如下结构 CASE SELECTOR WHEN EXPRESSION 1 THEN STATE
MENT 1; WHEN EXPRESSSION 2 THEN ...
MySQL中SQL语句2
上⼀⽚介绍了⼀些基本的SQL的增删改查,这⼀⽚会介绍⼀些进阶的SQL语句使⽤. MySQL中的视图 视图是什么?当我们总是查询⼏张表的某个字段时,可以创建⼀张虚拟表,把这⼏个字段写⼊这个虚拟的表,这样 ...
mysql 常⽤ sql 语句 - 快速查询
Mysql 常⽤ sql 语句 - 快速查询 1.mysql 基础 1.1 mysql 交互        1.1.1 mysql 连接            -hPup    ...
mysql basic operation,mysql总结,对mysql经常使⽤语句的详细总结,MySQL学习笔记
mysql> select * from wifi_data where dev_id like "0023-AABBCCCCBBAA" ; 1.显⽰数据库列表.show d ...
Mysql 常⽤ SQL 语句集锦
Mysql 常⽤ SQL 语句集锦 基础篇 //查询时间,友好提⽰ $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
基于表的数据字典构造MySQL建表语句
表的数据字典格式如下: 如果⼿动写MySQL建表语句,确认⿇烦,还不能保证书写⼀定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...
随机推荐
thinkphp学习简易教程(⼀) thinkphp创建项⽬
1.在本地服务器根⽬录下创建项⽬⽬录,如命名为app:
2.把thinkphp的压缩包解压到与项⽬同级⽬录下,如app是放在⽬录APP下⾯,即项⽬⽬录路径为'APP/app/',则thinkphp应解 ...
linux编译php的c扩展
第⼀步:安装php5 第⼆步:打开终端[为来⽅便,这⾥使⽤root⽤户],使⽤CD命令进⼊到php5源码包的ext⽬录 第三步:在终端键⼊以下命令./ext_skel --extname=extes ...
header页头内容整理
meta标签
asp 中使⽤不同的数据源绑定gridview
第⼀种,使⽤SqlDataReader绑定gridview.代码如下: public SqlDataReader bind() { SqlConnection con = new SqlConnect ...
[转]openlayer+geoserver实现WFS操作
html表单代码中选中代码暂时和永久改动oracle sysdate的默认输出格式
1.当前会话有效 alter session set NLS_DATE_FORMAT='YYYY-MM-DD:HH24:MI:SS';
2.永久⽣效 sys⽤户登⼊后运⾏例如以下命令 然后重新启动数据 ...
SourceInsight - 常⽤设置和快捷键⼤全
1. 让{ 和 } 不缩进 Options -> Document Options -> Auto Indenting -> Auto Indent Type 选 Simple
2. ...
java NIO详解
数据结构 单链表元素定位 PTA
textarea的属性设置颜
mysql语句多表查询由于这个很简单,他也貌似没要判断溢出,取巧突破 #include #include #include // ...
sqi技能培训
KERBEROS PROTOCOL TUTORIAL
KERBEROS PROTOCOL TUTORIAL  This tutorial was written by Fulvio Ricciardi and is reprinted here wit ...

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。