SQL HAVING 学习笔记

简介

HAVING是一种SQL语法,用于在对分组数据进行聚合计算时,对聚合结果进行筛选。

语法

sqlCopy Code
SELECT 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 Code
SELECT Name, SUM(Sales) as TotalSales FROM Sales GROUP BY Name HAVING TotalSales >= 300;

结果:

Name TotalSales
Charlie 300
David 400
Edward 500

2. 查询至少有两次销售记录的销售人员

sqlCopy Code
SELECT 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 Code
SELECT Name, MAX(Sales) as HighestSales FROM Sales GROUP BY Name HAVING Sales = MAX(Sales);

结果:

Name HighestSales
Edward 500

以上是SQL HAVING的相关使用方法及实例,希望能对你有所帮助!