在 SQL 中,having 在分组聚合后进行条件筛选,保留满足特定条件的分组。与 where 的区别在于 where 在分组聚合前进行过滤。
以下是用到的表
例如要求出班级总年龄大于17的班级是哪些
注:
数据库服务器会自启 only_full_group_by 模式,这会要求在 select 查询中的 group by 子句列出的每个非聚合列都必须在 select 子句中出现。换句话说,如果你在 group by 子句中使用了某列,那么在 select 子句中也必须使用这个列,除非这个列是聚合函数的参数。