Выбрать id строки, где максимальная дата создания и максимальная дата изменения
| id | Дата создания | Дата изменения |
|---|---|---|
| 1 | 31.01.2023 | 31.01.2023 15:46 |
| 2 | 29.12.2022 | 31.01.2023 16:00 |
| 3 | 31.01.2023 | 31.01.2023 15:30 |
В таблице две строки с максимальной датой создания (31.01.2023) из них мне нужно получить id строки, где максимальная дата изменения (31.01.2023 15:46). Запрос должен вернуть id = 1.
Приведенный ниже запрос очевидно нерабочий! Какой диалект sql используется в базе не знаю, но GREATEST не поддерживается.
select id from table
where дата_создания = (select max(дата_создания) from table)
and дата_изменения = (select max(дата_изменения) from table)
Ответы (2 шт):
Автор решения: Konstantin Drobot
→ Ссылка
SELECT id, max(Дата изменения) FROM table WHERE Дата создания in (SELECT MAX(Дата создания) FROM table) group by id
Автор решения: velzevul88
→ Ссылка
Вернет верный результат при стремящейся к нулю вероятности дубля по дате изменения.
select first 1 id from table
order by дата_создания desc, дата_изменения desc