【发布时间】:2021-12-04 17:23:16
【问题描述】:
我在 mysql 中的查询有问题。 我的查询:
SELECT year, person, SUM(amount) AS total_amount FROM rentals
GROUP BY year, person WITH ROLLUP
ORDER BY year DESC;
给我这样的响应错误:
错误代码:1221。CUBE/ROLLUP 和 ORDER BY 用法不正确
我在 StackOverFlow 的其他帖子中读到,在 MySQL 中,在一个查询中使用 ROLLUP 和 ORDER BY 可能会出现问题,我知道我可以使用子查询来做到这一点,但关键是可能一个月前我可以进行此查询,昨天问题已经开始。前几天我打开了 ONLY FULL GROUP BY 模式,会是这个原因吗? 我该怎么做才能像以前一样在一个查询中使用带有 order by 的汇总?我想让我不必使用子查询,因为我知道有一些可能性(就像以前一样)。
【问题讨论】:
-
不,错误不是来自那里,您的版本在 mysql 8 中与 fullgroupby 不兼容,运行没有问题
-
请运行
SELECT version()明确确认您拥有的确切版本的 MySQL。
标签: mysql sql subquery sql-order-by rollup