博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库的case when 使用实例
阅读量:6383 次
发布时间:2019-06-23

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

本文作者:苏生米沿

本文地址:

需求非常easy,我有一个部门和部门的请假申请表。表数据简单罗列例如以下:

申请信息存放在sqxx这张表中,然后存放了zybm和zybm相应的部门信息,有个部门表bmxx,想查询開始结束时间间隔为半天的(时差小于4就可以)和大于半天的(按一天算)以部门为单位的统计结果,效果例如以下:

今天学了一个运行语句。顺利实现。感觉还是棒棒哒。

select sqbm, (select bmmc from bmxx b where b.bm=a.sqbm) as bmmc,sum(case when A.hasdata <>'' and timestampdiff(HOUR,kssj,jssj)<=4 then 1 else 0 end) as bt,sum(case when  A.hasdata <>'' AND timestampdiff(HOUR,kssj,jssj) <=4 then 1 else 0 end) as qtfrom clgl_ycsqxx a  group by a.sqbm;
这个语句首先去关联了部门表,查询了部门名称,然后依据日期间隔,case when推断了小于4小时的记录个数和大于4小时的记录个数。

最后依据部门分组。

转载地址:http://fzzha.baihongyu.com/

你可能感兴趣的文章
DedeCMS操作基础(一)
查看>>
实现MySQL允许远程连接
查看>>
Java Outputstream to String
查看>>
RS232C串口通信接线方法(三线制)
查看>>
Android 自定义View属性相关细节
查看>>
type already defined error in Eclipse
查看>>
OSA 安装
查看>>
先安装.Framework然后再安装IIS,ASP.NET程序不能运行
查看>>
NPOI Excel下拉项生成设置
查看>>
360该不该拍?
查看>>
用Xib创建控制器
查看>>
oracle的sqlplus和dos的中文乱码问题
查看>>
LVS+keepalived高可用负载均衡集群部署(二)---LAMP网站服务器与LVS服务器
查看>>
Struts2之简单数据类型转换
查看>>
python 打印数字
查看>>
打开网站显示输入用户名和密码
查看>>
size_t的32位和64位兼容
查看>>
HBase全分布式模式的安装和配置
查看>>
Spring 框架的设计理念与设计模式分析
查看>>
十年web老兵整理的前端视频资料
查看>>