sql的强大功能(看一条sql解决的复杂业务)
一条sql语句解决的复杂业务,请往下看:
业务介绍:一个单位有多个立项(立项信息表里有单位id),每个立项可能被预警多次(预警信息表里的uuid字段的值里包含有立项id或单位id),每个预警事件又可能被督办多次(督办信息表里有预警id),最后需要统计出每个单位一年被督办的总次数(total)
查询涉及的表有:立项表(special_task)、预警事件表(alarm_event)、预警被督办信息表(alarm_action_status_history)
Sql语句:如下图所示
SELECT
st.create_dept as dept_id
, count(*) as total
FROM yujing.special_task st
right join yujing.alarm_event ae on ae.event_uuid like concat('zxjc\_4\_',st.create_dept)
or ae.event_uuid like concat('zxjc\_4\_',st.id,'\_%')
right join yujing.alarm_action_status_history ash
on ash.risk_event_id = ae.id
and ash.old_status in (2010,2020)
and ash.new_status = 2020
and ash.change_time >= '2013-01-01'
and ash.change_time <= '2013-12-31'
WHERE st.create_dept = 34
and st.type = 22
and st.create_time >= '2013-01-01'
and st.create_time <= '2013-12-31'
总结:sql语句写好了不但能实现复杂的业务,还能提高程序的执行效率,而且还能让我们的程序逻辑变的更加简单,平时我们应该在这方便多下点功夫,这样做会给我们带来更高的效益、更多的鼓励。
sql的强大功能(看一条sql解决的复杂业务)的更多相关文章
- Mysql 52条SQL语句性能优化策略汇总
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引. 2.应尽量避免在where子句中对字段进行null值判断,创建表时NULL是默认值,但大多数时候应 ...
- 52 条 SQL 语句性能优化策略,建议收藏
本文会提到 52 条 SQL 语句性能优化策略. 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在where及order by涉及的列上建立索引. 2.应尽量避免在where子句中对字段进行nul ...
- 一条SQL在内存结构与后台进程工作机制
oracle服务器由数据库以及实例组成,数据库由数据文件,控制文件等物理文件组成,实例是由内存结构+后台进程组成,实例又可以看做连接数据库的方式,在我看来就好比一家公司,实例就是一个决策的办公室,大大 ...
- 数据库sql优化总结之5--数据库SQL优化大总结
数据库SQL优化大总结 小编最近几天一直未出新技术点,是因为小编在忙着总结整理数据库的一些优化方案,特此奉上,优化总结较多,建议分段去消化,一口吃不成pang(胖)纸 一.百万级数据库优化方案 1.对 ...
- Python和SQL 2017的强大功能
Python和SQL Server 2017的强大功能 原文来自:https://www.red-gate.com/simple-talk/sql/sql-development/power-py ...
- Python和SQL Server 2017的强大功能
Python和SQL Server 2017的强大功能 摘要: 源:https://www.red-gate.com/simple-talk/sql/sql-development/power-pyt ...
- 腾讯面试:一条SQL语句执行得很慢的原因有哪些?---不看后悔系列
说实话,这个问题可以涉及到 MySQL 的很多核心知识,可以扯出一大堆,就像要考你计算机网络的知识时,问你"输入URL回车之后,究竟发生了什么"一样,看看你能说出多少了. 之前腾讯 ...
- 51ak带你看MYSQL5.7源码4:实现SQL黑名单功能
博客迁移至: https://www.dboop.com/ 从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 申明:个人Python编程很溜,但是C++还停 ...
- 打开黑盒:从 MySQL架构设计出发,看它是如何执行一条 SQL语句的
1.把MySQL当个黑盒子一样执行SQL语句 我们的系统采用数据库连接池的方式去并发访问数据库,然后数据库自己其实也会维护一个连接池,其中管理了各种系统跟这台数据库服务器建立的所有连接 当我们的系统只 ...
随机推荐
- 比callback更简洁的链式执行promise
promise自己理解的也不够深刻,具体知识点不在这里细说了 直接上个例子,清晰明了,自己去悟吧 <script type="text/javascript"> //模 ...
- [MUD]MUDLIB详解/MUDOS运行流程/最小MUDLIB/mud文件结构
现在大部分中文MUD都是在东方故事(esII)基础上发展起来的,其目录结构基本一样, 也有个别MUD为了标新立异对个别目录换了个名字以示不同,但其实质没有什么变化. 这个做的最可恶的是xkx,把一个好 ...
- Deleted pointer causes undefined behaviour
这文章是早期闲得用英文写的,删除了怪可惜的,贴出来证明自己会英文算了... Occasionally,on stackoverflow.com,I found a classic problem wh ...
- cad2007 钢筋符号显示为问号
如题:cad2007 钢筋符号显示为问号 解决办法:下载Tssdeng,解压(Tssdeng.rar) 把下载到的cad大字体Tssdeng.shx文件放到autoCAD2007安装目录C:\Prog ...
- C/C++代码静态检查工具Cppcheck在VS2008开发环境中的安装配置和使用
Cppcheck is an analysis tool for C/C++code. Unlike C/C++ compilers and many other analysis tools, it ...
- lodash的中文文档(不全)
http://dingliang-321.iteye.com/blog/2184747
- sql server 2005 表master..spt_values
IF OBJECT_ID('tempdb..#t') IS NOT NULL DROP TABLE #tGOcreate table #t(id int identity,Dt varchar(10) ...
- CSS-DOM介绍
三位一体的网页: 我们在浏览器里看到的网页其实是由以下三层信息构成的一个共同体: 1.结构层: 结构层是由HTML和XHTML之类的标记语言所构成的.所就是哪些出现在html标签里面的单词,对网页内容 ...
- gridview中使用href调用javascript
传递参数(多个)可用以下两种方法: 方法一: <asp:TemplateField HeaderText="列名1"> <ItemTemplate> < ...
- [C#参考]UI和线程(一)
Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程. 什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包 ...