如何在PHP和MySQL中获得2个重复条目的最低值

时间:2011-03-14 15:57:52

标签: php mysql

我有这个表,包含商店的各种产品。它们每个都有一个标识符,它是通用的,并且对每个产品都是不同的,它由制造商设定。但由于我从几个批发商处获得价格表以获得最低价格,因此我有超过1行具有相同的标识符。

我想有办法让整个产品列表只显示每个产品一次,但对于重复的产品显示尽可能低的价格。怎么做?

我想在每个产品上做一个SELECT来检查它是否是单一的,但这样效率很低。我也想过一些数组操作,但这也会增加很多时间。

背景信息:我目前有大约30k产品,计划很快上升到大约10万。

我的产品表的标准查询如下所示:

SELECT productId,productIdentifier,productWholesaler,productPrice FROM `products` 

productIdentifier是来自多个批发商的产品具有相同价值的部分,但productPrice对于2个重复商品来说永远不会相同。

1 个答案:

答案 0 :(得分:3)

试试这个:

SELECT productId, productIdentifier, productWholesaler, MIN(productPrice)  
FROM `products`
GROUP BY productId, productIdentifier, productWholesaler