2016-11-27 101 views
1

一部分,我想找到每篇文章的最便宜的批發商只使用該表:集團通過對複合鍵

表Article_Wholesaler

article_id  wholesaler_id  price 
1     1    500 
1     2    1000 
2     1    300 

主鍵組成的article_id和的wholesaler_id。

有沒有辦法用最小函數來實現這一目標?

這個查詢實際上並不返回正確的wholesaler_id,但爲了使用該查詢作爲子查詢我所需要的主鍵的兩個部分...

select aw.article_id, aw.wholesaler_id, min(aw.price) as min_purchase_price 
from Article_Wholesaler aw 
group by aw.article_id; 

感謝您的幫助:) 。

+0

您正在使用什麼數據庫管理系統? –

+0

只是一個簡單的mysql – taranaki

+1

請參閱[_Groupwise Max_](http://mysql.rjweb.org/doc.php/groupwise_max)(或MIN,在你的情況下) –

回答

1

您可以通過使用與A組子查詢

select aw.article_id, aw.wholesaler_id, aw.price 
    from Article_Wholesaler aw 
    where (aw.article_id, aw.price in (select article_id, min(price) 
             from Article_Wholesaler 
             group by article_id) 
1

你不要爲這個使用組。你可以這樣做:

Select t.* 
From t 
Where t.price = (select min(t2.price) from t t2 where t2.artickeid = t.articleid)