2011-01-28 79 views
2

我需要商店提供的最高/最優價格!獲取最優惠的價格MySQL查詢

offer | f_shop | price 
5253   100  10 
5254   101  12 
5255   101  16 
5256   102  25 
5257   102  11 
5258   100  36 

什麼是最好的方式來獲得最高的報價? Group by和max()不會給我正確的結果。


好的,我很抱歉我的問題不夠精確。

這裏是我的實際查詢:

SELECT s.ch_f1 shop, a.ch_f3 price,a.bool_f11 currency,aa.priority AS priority FROM offers a LEFT JOIN shops s ON a.ch_f5=s.extern_id LEFT JOIN offertypes aa ON a.f_offertype=aa.id WHERE 
s.bool_f1=1 AND 
a.bool_f1=1 AND 
a.bool_f4=0 
ORDER BY priority ASC, price DESC, currency 

這是結果:

shop; price; currency; priority 
Shop A 100.00 1 1 
Shop B 50.00 1 1 
Shop C 50.00 1 1 
Shop D 50.00 1 1 
Shop E 50.00 1 1 
Shop B 50.00 1 1 
Shop A 50.00 1 1 
Shop F 40.00 1 1 
Shop G 40.00 1 1 
Shop H 40.00 1 1 
Shop B 39.00 1 1 
Shop B 35.00 1 1 
Shop B 33.00 1 1 
Shop A 30.00 2 1 
Shop A 30.00 2 1 
Shop X 30.00 2 1 
Shop Y 30.00 2 1 
Shop Z 30.00 2 1 
Shop Q 30.00 2 1 

但我想有從所有可用的店鋪最好的報價。 而且我也需要訂單價值。 我不知道如何做到這一點。

+0

的組間最大值什麼是你按走錯/ MAX()查詢? – eumiro 2011-01-28 10:25:28

+0

最好的報價==最低的價格? – Nishant 2011-01-28 10:26:06

回答

0

如果你想爲一個給定的店最高優惠,你可以這樣做:

select max(offer) from yourtable where f_shop = 100; 
0

可能是你正在尋找這個

select * from table group by f_shop having max(price) 

會給所有的商店與最高價格行。