mysql 5.5 升级到5.7 sql groupby 失效问题
原因
举例:在mysql 5.5中有一个查询语句为
SELECT * FROM (
SELECT
`code`,
`id`,
`time`
FROM b_table
ORDER BY time DESC
) AS t
GROUP BY t.code
该语句在mysql 5.7中不知道为什么group by 并不取子查询的第一条语句,因为在5.7中这样写 order by并没有执行(虽然单独执行子查询语句可行)。
结果
我发现增加 limit 语句之后解决了该问题
SELECT * FROM (
SELECT
`code`,
`id`,
`time`
FROM b_table
ORDER BY time DESC
LIMIT 0,20
) AS t
GROUP BY t.code