2011-03-14 32 views
0

我有這張表,其中包含商店的各種產品。它們每個都有一個標識符,對於每種產品都是通用的和獨特的,它由製造商設置。但是,由於我從幾個批發商那裏獲得價格清單,以獲得儘可能最低的價格,所以我有超過1行具有相同標識符的行。如何在PHP和MySQL中獲得2個重複條目的最低值

我想有一種方法可以讓整個產品列表只顯示每個產品一次,但對於重複產品顯示儘可能最低的價格。這個怎麼做?

我想在每個產品上做一個SELECT來檢查它是否是唯一的,但這樣做效率不高。我也想過一些數組操作,但這也會增加很多時間。

背景信息:我目前有大約3萬個產品,計劃很快就會上升到100K左右。

我的產品表的標準查詢是這樣的:

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

productIdentifier是具有從多個批發商的產品相同值的一部分,但productPrice是從不爲2次重複相同。

回答

3

試試這個:

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

謝謝!這顯示了我的方式! :) – 2011-03-14 16:13:22