SELECT GROUP BY子句与sql_mode = only_full_group_by不兼容

执行以下MySQL查询(通过PHP)时,问题正在接收MySQL错误:


SELECT DISTINCT(USER),ID,IS_VALID FROM `LOGIN_LOG`
WHERE `SETUP` = 'setup1'
GROUP BY USER
ORDER BY `time` desc;

要获得这样的结果:


+--------+----+----------+
| USER   | ID | IS_VALID |
+--------+----+----------+
| JSMITH | 10 |    1     |
+--------+----+----------+
| DADAMS | 15 |    1     |
+--------+----+----------+

MySQL错误:

  

SELECT列表的表达式#2不在GROUP BY子句中,并且包含未聚合的列   “ mercedes_sentry.PS_LOGIN_LOG.TIME”在功能上不依赖于GROUP BY中的列   条款;这与sql_mode = only_full_group_by

不兼容

我知道我可以更改SQL模式,但是这种解决方案并不理想,因为结果可能是不可预测的,而且并不总是准确的。我希望修复该查询。任何帮助表示赞赏。

raytacer 回答:SELECT GROUP BY子句与sql_mode = only_full_group_by不兼容

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3136314.html

大家都在问