mysql为什么 不能先排序后分组

2025-02-22 12:05:19
推荐回答(2个)
回答1:

SELECT * FROM (SELECT * FROM test ORDER BY seq DESC) tmp GROUP BY NAME

mysql5.7之后,会对组内排序优化,从而忽视组内排序,通过添加limit可以达到效果

SELECT * FROM (SELECT * FROM test ORDER BY seq DESC limit 10000000000) tmp GROUP BY NAME

原答案网址:网页链接

回答2:

什么意思?
先对数据进行order by,再使用group by?
group by是进行分类汇总,执行完汇总,得到汇总结果再排序,很正常啊,
如果先排序,得到的中间表结果集比较庞大;
先汇总,得到的中间表结果集就不会太占内存空间了