Как вывести последнее значение по времени SQL
Есть таблица
id Date_time Log
1 01.10.2021 15:30 Действие 1
1 01.10.2021 15:35 Действие 2
2 02.10.2021 10:00 Действие 1
2 02.10.2021 12:00 Действие 2
Необходимо получить по каждому id последний лог, то есть на выходе должно получиться:
id Date_time Log
1 01.10.2021 15:35 Действие 2
2 02.10.2021 12:00 Действие 2
Залил данные :
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Воспользуйтесь CTE и оконной функцией row_number():
with tab as (
select
id, Date_time, Log,
row_number() over(partition by id order by Date_time desc) as rn
from table_name
)
select
id, Date_time, Log
from tab
where rn = 1