HAVING 子句
HAVING 子句可在 GROUP BY 子句之后使用,用于在分组完成之后提供筛选条件。就语法而言,HAVING 子句与 WHERE 子句相同;但 WHERE 发生在分组之前,而 HAVING 发生在分组之后。
示例
统计 addresses 表中每个不同 city 的记录数,并过滤掉计数小于 50 的城市:
SELECT city, count(*)
FROM addresses
GROUP BY city
HAVING count(*) >= 50;
按城市与 street_name 计算平均收入,并过滤掉平均 income 大于收入中位数两倍的城市:
SELECT city, street_name, avg(income)
FROM addresses
GROUP BY city, street_name
HAVING avg(income) > 2 * median(income);