错误方法:
select a.* from
(select * from user order by id desc) a
group by a.id
先在子查询中进行倒序排列,查询排列完成的数据
首先 评论区说的对,上面的确实不能用。但是也确实可以用,想省事的小伙伴可以试试,报错或者不能用的话就用下面的方案。上面的方案是跟数据库配置有关,MySQL配置了group by 查询的相关东西
下面是我本次更新时测试的结果
-
MySQL版本 -> 5.7.26 截图为证!
-
表中原始数据
-
正常分组查询结果
这个没毛病吧,就是正常的分组查询。不过是多了个any_value()
,具体原因的话你么可以不加,然后测试一下,如果报错就去百度一下,很容易查到。没报错就不用加(最近遇到这个坑的。之前从来没发现过) -
符合需求的sql
需要注意的是,子查询里面有个limit 9999
,这个要加上,才可以符合需求,不然就跟正常的分组查询结果一样。