如何在 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 中的 GROUP BY 语句为什么有时不严格要求所有字段都包含在内?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号