在 Datetime2 格式 DB2 上使用 Order By Desc
Using Order By Desc on Datetime2 Format DB2
我正在创建一个带有分区的 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,但还是被选为上)
在查看我的 where 语句后,我注意到 2018-03-27 09:22:52.0000230 被排除在外,对 where 语句的更改现在在上述查询中产生了正确的结果。我删除了 where event = ACTIVE,因为我意识到有时最近的事件是 CLOSE,上面 customer_number.
就是这种情况
我正在创建一个带有分区的 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,但还是被选为上)
在查看我的 where 语句后,我注意到 2018-03-27 09:22:52.0000230 被排除在外,对 where 语句的更改现在在上述查询中产生了正确的结果。我删除了 where event = ACTIVE,因为我意识到有时最近的事件是 CLOSE,上面 customer_number.
就是这种情况