登录
首页 >  数据库 >  MySQL

MySQL 中的 GROUP BY 语句为什么有时不严格要求所有字段都包含在内?

时间:2024-11-11 09:22:03 108浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《MySQL 中的 GROUP BY 语句为什么有时不严格要求所有字段都包含在内?》,聊聊,我们一起来看看吧!

MySQL 中的 GROUP BY 语句为什么有时不严格要求所有字段都包含在内?

如何在 MySQL 中使用 GROUP BY?

不少开发者发现,MySQL 的 GROUP BY 语句并不总是严格要求将 SELECT 语句中所有的字段都包含在 GROUP BY 子句中。这究竟是怎么回事呢?

事实上,MySQL 的行为取决于 SQL_MODE 的设置。从 MySQL 5.7 开始,默认的 SQL_MODE 启用了 ONLY_FULL_GROUP_BY 选项。当此选项启用时,SELECT 语句中未出现在 GROUP BY 子句中的列必须在聚合函数(如 SUM、COUNT、AVG)中使用,否则会抛出错误。

不过,你可以通过手动调整 SQL_MODE 设置来禁用 ONLY_FULL_GROUP_BY 选项。禁用后,MySQL 不再检查 SELECT 语句中的列是否全部包含在 GROUP BY 子句中。

有关详细信息,请参阅 MySQL 5.7 参考手册:

  • MySQL :: MySQL 5.7 Reference Manual :: 1.3 What Is New in MySQL 5.7

终于介绍完啦!小伙伴们,这篇关于《MySQL 中的 GROUP BY 语句为什么有时不严格要求所有字段都包含在内?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布数据库相关知识,快来关注吧!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>