【发布时间】:2021-02-24 11:07:38
【问题描述】:
我最近将我的数据库从 MySql 5 迁移到 MySQL 8。 我安装了一个带有标准配置的全新服务器,并通过 sql import 从旧数据库中导入了我的数据。
现在我遇到了问题,我的 group by 不像以前那样工作了。
这是我的 SQL 选择:
SELECT * from(SELECT A,B,C FROM table ORDER BY B DESC) AS temp GROUP BY C;
在 MySQL 5 中,我得到按内部选择的第一行分组的值。
在 MySQL 8 中,我得到按内部选择的最后一行分组的值。即使我更改 Order BY 也没有效果。
这是服务器配置吗?如何在不更改所有 sql 查询的情况下更改它?
最好的问候
【问题讨论】:
-
我以为 MySQL 8.0 最终拒绝了那些无效的 GROUP BY 用法?
-
你不应该在没有聚合函数的情况下使用 GROUP BY
-
它从来没有“工作”过;它只是没有出错。我们可以争论这是一个特性还是一个错误。如需更多帮助,请参阅:Why should I provide an MCRE for what seems to me to be a very simple SQL query?