首页 > 数据库 >【MySQL】分组GROUP BY

【MySQL】分组GROUP BY

时间:2022-08-16 18:59:43浏览次数:67  
标签:GROUP MySQL rollup 分组 使用 department id

目录

1.GROUP BY分组使用

例:求员工表中各部门的平均工资
image

使用GROUP BY子句将数据按部门分

SELECT 
	department_id,AVG(salary)
FROM employees
GROUP BY department_id;

SELECT 
	d.department_name,AVG(e.salary)
FROM departments d,employees e
WHERE d.department_id = e.department_id
GROUP BY e.department_id;   -- 可以不出现在select列表中

2.使用多个列分组

按照员工表中的department_id 和 job_id进行分组
image

SELECT department_id dept_id,job_id,SUM(salary)
FROM employees
GROUP BY department_id,job_id;

image

3.GROUP BY中使用WITH ROLLUP

with rollup关键字将在查询出的分组记录之后增加一条记录数量

SELECT department_id,AVG(salary)
FROM employees
WHERE department_id>80
GROUP BY department_id WITH ROLLUP;

不使用和使用with rollup的对比
image

注意:当使用rollup时,不能同时使用order by子句进行结果排序,即rollup和order by是互相排斥的。

标签:GROUP,MySQL,rollup,分组,使用,department,id
From: https://www.cnblogs.com/zhishu/p/16580818.html

相关文章