mysql按x排序,然后按y分组,然后按字母顺序排列z

ckocjqey  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(366)

我想1)按价格asc(显示最便宜),然后2)按项目名称分组,然后3)按项目名称字母排序。
这里有2列(仅包括2个相关列,还有其他列,如模型、颜色等)

我想要的结果:

谢谢

pes8fvy9

pes8fvy91#

SELECT Item, Min(Price), Other_Columns FROM table GROUP BY Item ORDER BY Item

如果你想要的id,颜色和型号属于最低价格,事情变得复杂。你可以用这样的方法:

SELECT * FROM `table` WHERE id IN 
    (SELECT MIN(id) FROM `table` T1 WHERE Price=
        (SELECT MIN(Price) FROM `table` T2 WHERE T1.Item=T2.Item) 
     GROUP BY Item, Price)

基本上你要做的是:首先确定每件商品的最低价格。而不是找到所有的第一个id的每一个项目的价格。然后从所有具有这些id的记录中选择所有列。也许可以做得更简单,但这是最容易理解的。
我不确定这是你想要的,因为你的问题不是很具体/清楚(因此所有的反对票)。但我有点相信是的。

相关问题