Использование Order By Desc в формате Datetime2 DB2 - PullRequest
0 голосов
/ 04 апреля 2019

Я создаю 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)

1 Ответ

1 голос
/ 04 апреля 2019

после просмотра моего оператора where я заметил, что 2018-03-27 09: 22: 52.0000230 исключается, и изменение оператора where теперь дает правильные результаты в приведенном выше запросе.Я удалил событие event = ACTIVE, поскольку иногда понимал, что самым последним событием является ЗАКРЫТЬ, как это было в приведенном выше номере customer_number.

...