3
我有數據的表像這樣:MySQL的組返回的最小值,並獲得相應的行數據
- PK_table - merchantName - price - Product
- 1 - argos - 7 - 4
- 2 - comet - 3 - 4
- 1 - Dixon - 1 - 3
- 1 - argos - 10 - 4
我想選擇一個產品的最低價格,並在mysql中相應的商戶。
我想:
SELECT Product, merchantName, min(price)
FROM a_table
GROUP BY product
但是其返回的結果不正確,因爲它選擇的第一商家名稱,而不是MIN的相應的零售商。
你怎麼做到的?
我們不會被低估? – 2009-11-25 19:36:56
對不起,提出一箇舊的東西..我想知道是否有一種方法,我可以實現這個沒有子查詢。我可以做子查詢,因爲'MIN'中的表達式是複雜的,耗時的。 – Manu 2013-08-14 10:13:31
如果優化得當,並且只需要一個產品,那麼這個查詢將只對它需要的行執行MIN計算。如果您的引擎沒有對所有產品進行優化(以及計算MIN(無論)),則可以通過將'FROM a_table'更改爲'FROM a_table WHERE Product = Some_Product'進行手動優化。如果您想要查詢所有產品,那麼您需要使用子選擇,但這沒關係,因爲最終結果需要所有計算。 – 2013-08-14 15:20:54