返回列表 发帖

SQL HAVING 子句

SQL HAVING 子句
 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与 Aggregate 函数一起使用。

 HAVING子句已添加到SQL中,因为WHERE关键字不能用于聚合函数。
SQL HAVING 语法
SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
HAVING condition
ORDER BY column_name(s);

演示数据库
 以下是罗斯文示例数据库中"Customers"表的选择:

CustomerID        CustomerName        ContactName        Address        City        PostalCode        Country
1

Alfreds Futterkiste        Maria Anders        Obere Str. 57        Berlin        12209        Germany
2        Ana Trujillo Emparedados y helados        Ana Trujillo        Avda. de la Constitución 2222        México D.F.        05021        Mexico
3        Antonio Moreno Taquería        Antonio Moreno        Mataderos 2312        México D.F.        05023        Mexico
4

Around the Horn        Thomas Hardy        120 Hanover Sq.        London        WA1 1DP        UK
5        Berglunds snabbköp        Christina Berglund        Berguvsvägen 8        Luleå        S-958 22        Sweden
SQL HAVING示例
 以下SQL语句列出了每个国家/地区的客户数量。只包括超过5位客户的国家/地区:

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;
 以下SQL语句列出每个国家的客户数量,从高到低排序(仅包括拥有超过5名客户的国家/地区):

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5
ORDER BY COUNT(CustomerID) DESC;

返回列表