到目前为止,我们的Query查询已经有点复杂了,不过还好我们已经基本把查询语法介绍完了。在 GROUP BY
分组语法中,我们知道数据库是先对数据做WHERE
,然后对结果做分组,如果我们要对分组完的数据再筛选出几条如何办?
(想一下按年份统计电影票房,要筛选出>100万的年份?)
一个不常用的语法 HAVING
语法将用来解决这个问题,他可以对分组之后的数据再做SELECT筛选.
SELECT group_by_column, AGG_FUNC(column_expression) AS aggregate_result_alias, …
FROM mytable
WHERE condition
GROUP BY column
HAVING group_condition;
HAVING
和 WHERE
语法一样,只不过作用的结果集不一样. 在我们例子数据表数据量小的情况下可能感觉
HAVING
没有什么用,但当你的数据量成千上万属性又很多时也许能帮上大忙 .
如果你不用`GROUP BY`语法, 简单的`WHERE`就够用了.
我们将更加深入的分析 Employee 数据,综合运用不同的SQL语法来解决这些问题.