排序后分组取每个分组的第一条数据
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