我有这个表,包含商店的各种产品。它们每个都有一个标识符,它是通用的,并且对每个产品都是不同的,它由制造商设定。但由于我从几个批发商处获得价格表以获得最低价格,因此我有超过1行具有相同的标识符。
我想有办法让整个产品列表只显示每个产品一次,但对于重复的产品显示尽可能低的价格。怎么做?
我想在每个产品上做一个SELECT来检查它是否是单一的,但这样效率很低。我也想过一些数组操作,但这也会增加很多时间。
背景信息:我目前有大约30k产品,计划很快上升到大约10万。
我的产品表的标准查询如下所示:
SELECT productId,productIdentifier,productWholesaler,productPrice FROM `products`
productIdentifier
是来自多个批发商的产品具有相同价值的部分,但productPrice
对于2个重复商品来说永远不会相同。
答案 0 :(得分:3)
试试这个:
SELECT productId, productIdentifier, productWholesaler, MIN(productPrice)
FROM `products`
GROUP BY productId, productIdentifier, productWholesaler