Как выбрать максимальное значение и вернуть все данные строки?

Всем привет!

Ребят, голову ломаю, не могу сделать запрос в БД, туплю чет.

Таблица discount имеет 4 поля
id_skidki - int auto increment
company_id - int - ID компании, которая предоставляет скидку
percent_discount - tinyint - сколько % предоставляется скидка
end_date - DATETIME - до какого числа действует скидка

Суть в том, что мне нужно найти максимальную скидку на сегодняшний день и вернуть всю строку с данными, а лучше заджойнить это с таблицей company по company_id, чтобы выдернуть одним запросом еще и все данные по компании, дабы не было большой нагрузки на БД.

Буду благодарен за подсказку, сижу туплю(((
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
Stalker_RED
@Stalker_RED
Примерно так:
SELECT * FROM discount
  LEFT JOIN company ON discount.company_id=company.id
  WHERE discount.end_date < CURDATE() + INTERVAL 1 DAY
  ORDER BY percent_discount DESC
  LIMIT 1

(могут быть опечатки, проверить негде)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы