Я создаю cte с разделом, который упорядочивает штампы datetime2 по убыванию и применяет row_number (), а затем выбираю строку 1, чтобы получить самую последнюю дату.
with cte1 as
(
select Customer_Number, event, Source_update_date, row_number() over
(partition by Customer_Number order by Source_update_date desc) row_num
from schema.table
where event = ''ACTIVE''
)
select Customer_Number, event
from cte1
where row_num = 1
Я заметил, что выбрана самая последняя дата, но не самая большая часть .nnnnnnn. как объяснить это? это сервер DB2
две указанные даты:
2018-03-27 09: 22: 52.0000230
2018-03-27 09: 21: 16.0000210 (этот выбирается в качестве верхнего, хотя 210 меньше 230)