排序后分组取每个分组的第一条数据


SELECT p1.* FROM (SELECT * FROM table p0 WHERE p0.种类编号 IN (10066656,10115244) ORDER BY p0.价格 ASC,p0.主键id DESC LIMIT 1000000 ) p1 GROUP BY p1.种类编号;

  因为group by无法放到order by之后执行,所以需要创建虚表p1,limit 100000是取前100000条数据,因为不加limit虚表的排序不会生效,100000是乱写的,

是多少都行,只要足够取出要查询的数据条数。

  参考 https://www.cnblogs.com/w1441639547/p/11199154.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM