【发布时间】:2017-09-14 11:08:15
【问题描述】:
我有一个关于 Oracle 中的 SQl 查询的问题,其中 IO 需要选择具有最新日期和时间的行,其中日期和时间被插入到两个单独的列中。
表TransactionRecords
CustomerID TransactionDate TransactionTime
-------------------------------------------------------
0206016 17-APR-17 15:29:34
0213570 17-APR-17 15:29:32
0211384 17-APR-17 13:29:34
0487674 16-APR-17 14:29:30
0487759 15-APR-17 13:29:32
0487213 12-APR-17 13:29:32
0191022 11-APR-17 15:29:33
1141158 29-OCT-16 01:25:51
我希望我的查询重新返回最近的交易,应该是:
CustomerID TransactionDate TransactionTime
---------------------------------------------------
0206016 17-APR-17 15:29:34
当我运行以下查询时:
select * from TransactionRecords tst
where tst.TransactionDate in (select max(TransactionDate) from
TransactionRecords)
我正在获取最近日期发生的所有交易。 有人可以给我任何建议吗?
【问题讨论】:
-
合并日期和时间列并将其转换为日期时间。然后按this的降序选择top 1的顺序。
-
如何存储日期和时间变量?
-
它们存储为 DATE 类型
-
@Ullas Oracle 没有
DATETIME数据类型 -DATE数据类型同时具有日期和时间组件。此外,在 Oracle 12c 之前,不支持TOP 1语法。 -
@MT0 :哦,对不起,我不知道。我的错。我只是根据我的 SQL Server 知识发表评论
标签: sql oracle greatest-n-per-group