mysql分组查询

分组查询主要是用来统计的,一般都是按照某一个列进行统计分组

统计类型:求平均,求最大,求最小,求和等等

分组查询需要结合分组函数一起完成,常用的分组函数:

COUNT(参数):统计查询语句返回的行数

MAX(参数):求最大

MIN(参数):求最小

AVG(参数):求平均

SUM(参数):求和

参数:一般都是列名,但是count() 的参数还可以是 * 和 1

注意:

当参数是具体的列名的时候,函数会自动过滤掉列中为空值的情况,特别是 COUNT(), 参数是列名,就只统计列名非空的情况;如果是count(*),COUNT(1)既是是空行,也会被 统计进去。

语法:

关键字:

按照 *** 分组: GROUP BY 列名,列名2,….

分组之后进行数据过滤: HAVING

SELECT 分组函数,被分组列名 FROM 表名(1个或者多个)[WHERE 连接条件] GROUP BY 1个或者多个列名 [HAVING 过滤条件]

例如:

统计每个部门的员工人数,及平均薪水;(按照部门编号进行分组统计,每个部门的人 数和平均薪水)注意:按照 进行分组 : GROUP BY

SELECT COUNT(*),AVG(sal),deptno FROM emp GROUP BY deptno;

按照部门编号和岗位进行分组统计,统计的是每个部门每个岗位的人数和平均薪水,仅保留人数超过2个人的部门和岗位信息

SELECT COUNT(),AVG(sal),deptno,job FROM emp GROUP BY deptno,job HAVING COUNT()>=2;

Original: https://blog.csdn.net/m0_72740348/article/details/126711140
Author: SuMe1992
Title: mysql分组查询

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/694471/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球