我有一组数据,其中有很多卖家,但我们有一个卖家层次结构,我们更喜欢这些卖家,并希望为每种产品选择最佳可用卖家。
ID |ITEM | price | Seller
===========================
1 |Laptop | 100 | eBay
2 |Laptop | 125 | Amazon
3 |Apple | 5 | Amazon
因此,当我查询笔记本电脑的数据时,我希望每件商品都有最畅销的商品。我为卖家提供的层次结构是 1. ebay 2. Amazon,因此本质上它只会返回第一条和第三条记录。
你会怎样做呢?
最佳答案
你可以通过子查询得到它:
SELECT *
FROM tbl t1
WHERE (t1.id, t1.item, t1.price) IN
(SELECT t2.id, t2.item, t2.price
FROM tbl t2
WHERE t1.id = t2.id
ORDER BY t2.price
LIMIT 1);
关于mysql - 有没有办法让查询遵循 SQL 中的层次结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35496675/