MySQL中only_full_group_by限制具体如何应用?

更新于
2026-10-09 14:37:50
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1001个文字,预计阅读时间需要5分钟。

MySQL中only_full_group_by限制具体如何应用?

在数据库查询中,如果启用了`ONLY_FULL_GROUP_BY`选项,那么在执行查询时,若某个列不在`GROUP BY`列表中,则该列不能出现在`SELECT`列表、`HAVING`条件或`ORDER BY`列表中。简单来说:

MySQL中only_full_group_by限制具体如何应用?

- 若`ONLY_FULL_GROUP_BY`开启,- 且列不在`GROUP BY`中,- 则该列: - 不能在`SELECT`中出现, - 不能在`HAVING`条件中使用, - 不能在`ORDER BY`中引用。

先上结论

如果 only_full_group_by 被启用,那么在查询时,如果某个列不在group by 列表中,此时如果不对该列进行聚合处理,则该列不能出现在 select 列表,having 条件中及order by 列表中

MySQL 8.0 默认启用了sql_mode,我们可以通过 select @@session.sql_mode 查看会话中的 sql_mode 配置。

阅读全文

本文共计1001个文字,预计阅读时间需要5分钟。

MySQL中only_full_group_by限制具体如何应用?

在数据库查询中,如果启用了`ONLY_FULL_GROUP_BY`选项,那么在执行查询时,若某个列不在`GROUP BY`列表中,则该列不能出现在`SELECT`列表、`HAVING`条件或`ORDER BY`列表中。简单来说:

MySQL中only_full_group_by限制具体如何应用?

- 若`ONLY_FULL_GROUP_BY`开启,- 且列不在`GROUP BY`中,- 则该列: - 不能在`SELECT`中出现, - 不能在`HAVING`条件中使用, - 不能在`ORDER BY`中引用。

先上结论

如果 only_full_group_by 被启用,那么在查询时,如果某个列不在group by 列表中,此时如果不对该列进行聚合处理,则该列不能出现在 select 列表,having 条件中及order by 列表中

MySQL 8.0 默认启用了sql_mode,我们可以通过 select @@session.sql_mode 查看会话中的 sql_mode 配置。

阅读全文