一条SQL查询多个统计结果

例如以下情况,假如字段3是日期类型,按照小时分组统计字段1为空的个数,并对字段2大于5的值求和:

SELECT SUM(CASE WHEN field1 IS NULL THEN 1 ELSE 0 END) AS field1count,
SUM(CASE WHEN field2>5 then field2 else 0 end) AS field2sum
GROUP BY CONVERT(VARCHAR(13),field3,120)

时间: 2024-10-18 15:46:04

一条SQL查询多个统计结果的相关文章

一条SQL查询语句是如何执行的

一条SQL查询语句是如何执行的 下面是MySql的基本架构示意图,从图中可以清楚地看到SQL语句在MySQL的各个功能模块中的执行过程. 大体来讲,MySQL可以分为Server层和存储引擎层两部分. Server层 Server层包括连接器.查询缓存.分析器.优化器.执行器等,涵盖了MySql的大多数核心服务功能以及所有的内置函数,所有跨存储引擎的功能都在这一层实现,比如存储过程.触发器.视图等. 存储引擎层 而存储引擎层负责数据的存储与提取.其架构模式是插件式的,支持InnoDB.MyISA

一条SQL查询语句是如何执行的?

本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构. 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_info where id = 1; 返回结果为: +----+----------+----------+--------+------+---------------------+---------------------+ | id | username | password | openid |

深入理解SQL原理:一条SQL查询语句是如何执行的?

本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构. 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_info where id = 1; 返回结果为: +----+----------+----------+--------+------+---------------------+---------------------+ | id | username | password | openid |

01基础架构,一条SQL查询语句是如何执行的?

SQL 语句在 MySQL 的各个功能模块中的执行过程. 大体来说,MySQL 可以分为 Server 层和存储引擎层两部分. Server 层包括连接器.查询缓存.分析器.优化器.执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期.时间.数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程.触发器.视图等. 存储引擎层负责数据的存储和提取.其架构模式是插件式的,支持 InnoDB.MyISAM.Memory 等多个存储引擎.现在最常用的存储引擎是 In

50条SQL查询技巧、查询语句示例

学习了 1.查询"001"课程比"002"课程成绩高的所有学生的学号: 2.查询平均成绩大于60分的同学的学号和平均成绩: 3.查询所有同学的学号.姓名.选课数.总成绩: 4.查询姓"李"的老师的个数: 5.查询没学过"叶平"老师课的同学的学号.姓名: 6.查询学过"001"并且也学过编号"002"课程的同学的学号.姓名: 7.查询学过"叶平"老师所教的所有课的同学的

50条SQL查询技巧

Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1.查询"001"课程比"002"课程成绩高的所有学生的学号: select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002')

学习数据库必须掌握的54条SQL查询语句

--1.查找员工的编号.姓名.部门和出生日期,如果出生日期为空值,显示日期不详,并按部门排序输出,日期格式为yyyy-mm-dd. select emp_no,emp_name,dept,isnull(convert(char(10),birthday,120),'日期不详') birthday from employee order by dept --2.查找与喻自强在同一个单位的员工姓名.性别.部门和职称 select emp_no,emp_name,dept,title from emp

一条SQL查询一个属性,多个属性值的情况

原先sql获取角色对应的权限信息: select a.*, group_concat(b.auth_name) as auth_name from sh_role a left join sh_auth b on  find_in_set( b.auth_id, a.role_id_list) group by a.role_id; 原文地址:https://www.cnblogs.com/zonehoo/p/8318302.html

权限管理(RBAC模型) 一条SQL查询出菜单

//用户表 SELECT m.* FROM sys_user su //用户角色表,以用户id为条件 JOIN sys_user_role ur on su.id=ur.user_id //角色表,以角色id为条件 JOIN sys_role r on ur.role_id=r.id //角色菜单表,以角色id为条件 JOIN sys_role_menu rm on rm.role_id=r.id //菜单表,以菜单id为条件 再通过用户名进行查询 JOIN sys_menu m on m.id