он вернул запись у котрой значение updated_at или created_at было больше чем у остальных.
То-есть последнюю обновленную или добавленную запись?
Простое решэние -- SELECT WHERE updated_at = (SELECT max(updated_at)) LIMIT 1; У него могут быть проблемы с многократным сканированием таблицы, если нет индэксов. И, кажэтся, использование индэксов для max() появилось не так дано. Чаще всего это всё, впрочем, и не проблема. Непростое решэние -- написать свою функцыю группировки, которая возвращает столбец с максимальным значением одного атрибута. Кажэтся, на pgxn ужэ дажэ кто-то такое выложыл.
По простому решению, я ж тогда пропущу записи которые были созданы после последнего апдейта других записей, и у который updated_at:null
Обсуждают сегодня