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的相关使用方法及实例,希望能对你有所帮助!