@whoareyoutofuckinglecture
Python developer

Как решить задачку по SQL?

Добрый день!

Подскажите, пожалуйста, как решить данную задачу. Я не работал с SQL, и нагуглить способ решения не смог :(

Дано:
Есть таблица, в которой три столбца: id, value, date.

Необходимо вывести уникальные строки для столбца id с максимальной датой. Если даты одинаковые - вывести максимальный для этого id value.

Подскажите, как это сделать? Пытаюсь придумать конструкцию с GROUP BY и HAVING, пока безуспешно :(

UPD.: Я написал запрос, который находит максимальные даты для каждого id:
SELECT id, max(date) as max_date FROM Income GROUP BY id

А как теперь задать условие, что если id больше одного и при этом у каждого id одинаковые даты - нужно вывести максимальное value для этого id???
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
SELECT Income.id, max_date, MAX(value)
  FROM Income
  INNER JOIN (SELECT id, max(date) as max_date FROM Income GROUP BY id) IM
    ON Income.id = IM.id AND Income.date = max_date
  GROUP BY Income.id, max_date
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Возможно, один из этих способов поможет
Ответ написан
Ваш ответ на вопрос

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

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