首页 > 编程语言 > 详细

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

时间:2020-01-10 14:18:58      阅读:110      评论:0      收藏:0      [点我收藏+]
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

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

原文:https://www.cnblogs.com/darkclouds/p/12175682.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!