Как получить последнюю запись по дате?

У меня есть таблица Course (id, date, fiat, trade_type, asset, value), как я могу получить последнюю по дате запись для всех значений trade_type?

Для примера картинки, запрос должен вернуть записи с id = 35 (последняя запись по дате для SELL) и id = 34 (последняя запись по дате для BUY). Честно говоря, даже нет идей, как это можно реализовать.

Пример Таблицы


Ответы (1 шт):

Автор решения: Vitaliy Zlobin
SELECT "id", "date", "fiat", "trade_type", "asset", "value"
FROM
(
    SELECT *
           ,ROW_NUMBER() OVER(PARTITION BY trade_type ORDER BY "date" DESC, id DESC) AS RN
    FROM Course
) AS Subquery
WHERE RN = 1
→ Ссылка