图解SQL查询之having

在 SQL 中,having 在分组聚合后进行条件筛选,保留满足特定条件的分组。与 where 的区别在于 where 在分组聚合前进行过滤。

以下是用到的表

图解SQL查询之having_第1张图片

 例如要求出班级总年龄大于17的班级是哪些

图解SQL查询之having_第2张图片

注:

数据库服务器会自启 only_full_group_by 模式,这会要求在 select 查询中的 group by 子句列出的每个非聚合列都必须在 select 子句中出现。换句话说,如果你在 group by 子句中使用了某列,那么在 select 子句中也必须使用这个列,除非这个列是聚合函数的参数。

你可能感兴趣的:(mysql,sql,数据库)