Получить лучшее предложение MySQL запрос - PullRequest
2 голосов
/ 28 января 2011

Мне нужно самое высокое / лучшее предложение из этой таблицы по магазинам!

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

Каков наилучший способ получить самое лучшее предложение по магазинам?Группировка по и 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

Но я хочу получить лучшее предложение из всех доступных магазинов.И мне тоже нужна стоимость заказа.Я понятия не имею, как я могу это сделать.

Ответы [ 3 ]

0 голосов
/ 28 января 2011

может быть, вы ищете это

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

выдаст все строки магазинов с максимальной ценой.

0 голосов
/ 28 января 2011

3.6.4.Строки, содержащие групповой максимум определенного столбца

http://dev.mysql.com/doc/refman/5.0/en/example-maximum-column-group-row.html

0 голосов
/ 28 января 2011

Если вы хотите самое высокое предложение для данного магазина, вы можете сделать это:

select max(offer) from yourtable where f_shop = 100;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...