mysql数据库,select的字段没有全部写在group by里面,为什么这种sql语句还可以执行成功?

图片说明

select的字段没有全部写在group by里面,为什么这种sql语句还可以执行成功? 我记得select里面的字段应该都要写在group by里面的啊,除非聚合函数。

可以把表结构发出来看看吗

在配置文件中sql_mode去掉了ONLY_FULL_GROUP_BY吧

mysql 特有的不标准语法,尽量避免。其他的像 oracle、SQL Server 不行。

可能mysql版本是5.7以下,或者sql_mode是宽松模式,关闭了ONLY_FULL_GROUP_BY设置,可通过select @@GLOBAL.sql_mode;查看。