mysql 必须group by全部select中的字段?

作者站长头像
站长
· 阅读数 9

**我发现mysql的group by 后面的字段没有严格要求,甚至select后面的字段可以不出现在group by后面**

回复
1个回答
avatar
test
2024-06-27

这取决于 SQL_MODE 的设置,自 MySQL 5.7 开始,默认的 SQL_MODE 中启用了 ONLY_FULL_GROUP_BY,所以 select 后面的列必须出现在 group by 后面,但是你可以手动移除掉这个选项以禁用,禁用后就不再检查。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容