这个问题主要是mysql 开启了only_full_group_by 。only_full_group_by 说白了就是要求,select 的列要全部来自于group by 中的列,不能select 之外的列。 这个主要是mysql版本,5.7之前是默认关闭的,5.7之后的高版本都是自动打开only_full_group_by 校验检测的。
————————————————
版权声明:本文为CSDN博主「Orient_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/orient_/article/details/120881005
所以把这个模式关掉就行了~
SET GLOBAL sql_mode = '';
(上面的也是查的 我并没有尝试 而是发现它提醒的逻辑是对的...)
我认为这也算是一种检查逻辑是否错误的提醒吧,毕竟一般的需求都是需要按照select中的其余所有项来分组。当然如果实在需要的话那还是关掉比较好。
码住~