SQL重学-分组(order by)和(having)子句关键字

SQL重学-分组(GROUP BY)和(having)子句关键字

一、分组(GROUP BY)关键字

GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。

GROUP BY 语法

SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;

二、(HAVING )子句 关键字

在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据。

HAVING 语法


SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;

三、举例

有一个薪水表,salaries简况如下:
file
查找薪水变动超过15次的员工号emp_no以及其对应的变动次数t
对于关键字执行顺序可以参见https://blog.edkso.cn/?p=736

select
    emp_no,count(emp_no) as t
from salaries
group by emp_no having t > 15

结果如下:
file

版权声明:
作者:十下
链接:http://blog.edkso.cn/?p=739
来源:十下博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>