点击

group by

group by 的使用

select job_id,avg(salary) from employees group by job_id;

查询各个department_id,job_id的平均工资

select job_id,department_id,avg(salary) from employees group by job_id,department_id;

​ group by 后先写 job_id 还是先写 department_id 都是一样的

结论1:select 中出现的非组函数的字段必须声明在group by中

​ 反之,group by中声明的字段可以不出现在select中

结论2:group by声明在from后面、where后面、order by前面、limit前面

group by中使用with rollup

使用with rollup 关键字后,在所有查询出的分组记录之后增加一条记录,该记录用于计算所有数据的总和,也即将所有数据视为全体,然后使用当前聚合函数对整体进行计算

select avg(salary) from employees group by job_id with ROLLUP;

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

posted @ 2023-01-23 15:01  RILI520  阅读(195)  评论(0)    收藏  举报