分组查询

  • 为什么要分组?
  • 逐级分组
  • 对SELECT子句的要求
  • 对分组结果集再次做汇总计算
  • HAVING子句的用途
  • HAVING子句的特殊用法

为什么要分组?

  • 默认情况下汇总函数是对全表范围内的数据做统计
  • GROUP BY子句的作用是通过一定的规则将一个数据集划分成若干 个小的区域, 然后针对每个小区域分别进行数据汇总处理
SELECTdeptno , AVG(sal) FROM t_emp
GROUP BY deptno;

逐级分组

  • 数据库支持多列分组条件, 执行的时候逐级分组。
  • 查询每个部门里, 每种职位的人员数量和平均底薪
SELECT deptno,job , COUNT (*),AVG (sal)
FROM t_emp GROUP BY deptno,job
ORDER BY deptno;

对SELECT子句的要求

  • 查询语句中如果含有GROUP BY子句, 那么SELECT子句中的内容就 必须要遵守规定: SELECT子句中可以包括聚合函数, 或者GROUP BY子句的分组列, 其余内容均不可以出现在SELECT子句中
SELECTdeptno , COUNT(*),AVG (sal)
FROM t_emp GROUP BY deptno;
SELECT deptno , COUNT (* ) ,AVG ( sal) ,sal
FROM t_emp GROUP BY deptno;

对分组结果集再次做汇总计算

SELECTdeptno , COUNT (*),AVG ( sal),MAX ( sal),MIN (sal)
FROM t_emp GROUP BY deptno WITH ROLLUP;

HAVING子句的用途

  • 查询每个部门中, 1 982年以后入职的员工超过2个人的部门编号
SELECT deptno FROM t_emp
WHERE hiredate>="1982-01-01"
GROUP BY deptno HAVING COUNT(*)>=2;
ORDER BY deptno ASC;

HAVING子句的特殊用法

  • 按照数字1分组, MySQL会依据SELECT子句中的列进行分组, HAVING子句也可以正常使用
SELECT deptno , COUNT(*) FROM t_emp
GROUP BY 1;
SELECT deptno , COUNT(*)FROM t_emp
GROUP BY 1HAVING deptno IN( 10,20 ) ;

什么是数据库分组查询(详解)相关推荐

  1. Oracle数据库分组函数详解

    分组函数作用于一组数据,并对一组数据返回一个值. 常用的分组函数:AVG平均值,SUM求和,MIN最小值,MAX最大值,COUNT个数,WM_CONCAT字符串的拼接等. WM_CONCAT函数可用于 ...

  2. 一、MySQL查询学习笔记(基础查询、条件查询、排序查询、常见函数、分组查询 详解)

    DQL语言的学习 一.基础查询 语法: **SELECT 要查询的东西 [FROM 表名];**类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查 ...

  3. oracle 数据库循环查询语句怎么写,sql循环查询(sql语句循环查询详解)

    sql循环查询(sql语句循环查询详解) 2020-07-24 11:15:51 共10个回答 select*fromawheret_idin('3','4');select*fromawheret_ ...

  4. 03 mysql数据查询_MySql学习day03:数据表之间的连接、查询详解

    主键: 关键字:primary key 特点:不能为null,并且唯一. 主键分类: 逻辑主键:例如ID,不代表实际的业务意义,只是用来唯一标识一条记录(推荐) 业务主键:例如username,参与实 ...

  5. laravel 调试mysql_Laravel - MySQL数据库的使用详解3(Query Builder用法2:新增、修改、删除)...

    五.新增.修改.删除操作 在前文中我介绍了如何使用Query Builder(查询构造器)进行数据查询,下面接着介绍如何使用它进行数据的增.删.改操作.同样假设我们有如下用户表(user): 1,新增 ...

  6. mysql多表查询详解_MySQL多表查询详解上

    时光在不经意间,总是过得出奇的快.小暑已过,进入中暑,太阳更加热烈的绽放着ta的光芒,...在外面被太阳照顾的人们啊,你们都是勤劳与可爱的人啊.在房子里已各种姿势看我这篇这章的你,既然点了进来,那就由 ...

  7. php视图查询的优势,ThinkPHP视图查询详解

    搜索热词 ThinkPHP提供的视图查询应用功能十分强大,用户利用视图查询功能可以将多个数据表的字段内容按需要进行指定和筛选,组织成一个基于这些数据表的视图模型,然后就可以通过该模型直接进行多表联合查 ...

  8. HubbleDotNet开源全文搜索数据库项目--技术详解

    HubbleDotNet开源全文搜索数据库项目--技术详解 HubbleDotNet 简介 HubbleDotNet 和 Lucene.net 性能对比测试 HubbleDotNet 和 Lucene ...

  9. MySQL 数据库 source 命令详解及实例

    MySQL 数据库 source 命令详解及实例 MySQL 数据库 source 命令,该命令是数据库导入命令.source 命令的用法非常简单,首先你需要进入 MySQL 数据库的命令行管理界面, ...

  10. mysql单表查询实例_MySQL简单查询详解-单表查询

    MySQL简单查询详解-单表查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查询的执行路径 一条SQL查询语句的执行过程大致如下图所示: 1>.客户端和服务端通过my ...

最新文章

  1. android自定义数组,如何在android中的自定义采用者中使用json数组列表?
  2. RingtoneManager-获得系统当前的铃声
  3. leetcode_add_two_numbers
  4. xampp mysql 内存溢出_php - SQLSTATE [HY000] [2002]连接被拒绝 - 堆栈内存溢出
  5. 软件测试作业1:正确理解原型方法对软件生命周期不同阶段的支持
  6. 统计输入的字符串中各种字符的个数
  7. 2016最热门的PHP框架
  8. GitHub#java#:设计模式
  9. RuntimeWarning: numpy.dtype size changed, may indicate binary incompatibility.
  10. Go语言:数组练习—冒泡排序
  11. java obix_Gson序列化多态对象列表
  12. duilib绝对定位与相对定位
  13. Flask留言板Demo
  14. 使用HTML制作静态网站(圣诞节案例)
  15. 很经典的深搜,但却伤了我的心(洛谷 1238) 走迷宫
  16. EOS测试链加入流程(代码版本与主网同步)
  17. 模拟真人浏览网页-浏览器自动滚动-超简单方法
  18. 学生为什么要学python_碎碎念|为什么要学Python
  19. 计算物体自由下落的距离:一个物体从100米的高度自由落下求它在前三秒内下落的垂直距离。重力加速度为10m/s^2。
  20. 公安人口信息系统的备份需求与应用

热门文章

  1. 面包屑效果(element + vue)
  2. joomla速度优化_WordPress v Joomla:搜索引擎优化
  3. 苹果公布Apple Watch手表新专利,可穿戴设备少不了Find My技术
  4. convert ps pcl emf wmf to pdf files using ghostscript
  5. 关于换行以及换行属性
  6. 几个潜在的AI科研助手
  7. 微星迫击炮B550M MORTAR WIFI 插三根内存不开机、黑屏、蓝屏、BIOS报错
  8. 小红书负面笔记下沉怎么办
  9. [VulnStack] ATTCK实战系列—红队实战(二)
  10. VsCode常用插件和快捷键