Так нормально, если я хотел взять последние из каждого типа в этой таблице:Выберите запись со второй наиболее поздней датой
type | date
-----------------
A | 2008-07-06
B | 2014-08-02
A | 2009-12-27
A | 2004-03-01
B | 2008-10-17
B | 2015-01-01
Я бы сделать это:
SELECT DISTINCT ON (type) type, date
FROM t
ORDER BY type, date DESC;
Но что если я хочу получить не последнее, но второе последнее? Итак:
type | date
-----------------
A | 2008-07-06
B | 2014-08-02
Там другие вещи в строке что я хочу. Но в любом случае, как мне получить не максимальный, а следующий снизу от max - не самая последняя дата, а вторая - самая последняя? –
других элементов, вы можете добавить их в список по группе. для второго вам нужен вложенный запрос. 'select * from (выберите * from order by .. desc limit 2) order by asc limit 1' –