SQL HAVING 学习笔记
简介
HAVING
是一种SQL语法,用于在对分组数据进行聚合计算时,对聚合结果进行筛选。
语法
sqlCopy CodeSELECT column1, aggregate_function(column2)
FROM table_name
WHERE condition
GROUP BY column1
HAVING condition
HAVING
语句必须在GROUP BY
语句之后使用,它的作用是过滤已经聚合的结果集中不符合特定条件的数据。
实例
以以下Sales
表格为例:
ID | Name | Sales |
---|---|---|
1 | Alice | 100 |
2 | Bob | 200 |
3 | Charlie | 300 |
4 | David | 400 |
5 | Edward | 500 |
1. 查询销售额大于等于300的销售人员
sqlCopy CodeSELECT Name, SUM(Sales) as TotalSales
FROM Sales
GROUP BY Name
HAVING TotalSales >= 300;
结果:
Name | TotalSales |
---|---|
Charlie | 300 |
David | 400 |
Edward | 500 |
2. 查询至少有两次销售记录的销售人员
sqlCopy CodeSELECT Name, COUNT(*) as TotalSalesCount
FROM Sales
GROUP BY Name
HAVING TotalSalesCount >= 2;
结果:
Name | TotalSalesCount |
---|---|
Alice | 1 |
Bob | 1 |
Charlie | 1 |
David | 1 |
Edward | 1 |
3. 查询销售额最高的销售人员
sqlCopy CodeSELECT Name, MAX(Sales) as HighestSales
FROM Sales
GROUP BY Name
HAVING Sales = MAX(Sales);
结果:
Name | HighestSales |
---|---|
Edward | 500 |
以上是SQL HAVING的相关使用方法及实例,希望能对你有所帮助!