Если я хочу получить первую строку или самую последнюю строку в поле в postgres, select distinct on
выглядит великолепно, см. Этот ответ .
DISTINCT ON
это синтаксис для получения ровно 1 записи. Но что, если я хочу N самых последних записей? Как бы я преобразовал это:
CREATE VIEW your_view AS
SELECT DISTINCT ON (id) *
FROM your_table a
ORDER BY id, date DESC;
Но для
"Выберите самые последние n = 2 записи для идентификатора", а не "выберите самые последние n = 1 записи для идентификатора?" ?
Я предполагаю, что это группа по подзапросу, но я не совсем ее вижу.