【发布时间】:2020-05-29 17:41:01
【问题描述】:
我如何编写一个 sql 语句,它根据 Id 返回每天的最新记录。例如。数据如下。
Id Name Comment Value DateTime
1 Tim Test 100 02/06/2020 15:05:12
2 Sue House 200 03/06/2020 08:25:01
1 Tim Test 150 02/06/2020 18:05:12
3 Doug Cars 680 10/05/2019 04:45:10
2 Sue Tennis 200 03/06/2020 10:35:15
我会得到:
Id Name Comment Value DateTime
1 Tim Test 150 02/06/2020 18:05:12
3 Doug Cars 680 10/05/2019 04:45:10
2 Sue Tennis 200 03/06/2020 10:35:15
我是否需要按最大日期时间分组的子选择查询?
【问题讨论】:
-
(1) 您的 Oracle 版本是多少?视情况而定,有不同的答案。 (2) 为什么是
plsql标签? (3) 最重要的:能有关系吗?哪里有两行或多行具有相同的 ID 和相同的日期,具有完全相同的时间组件,都与该 goupr 中的“最新”相关联?如果是这样,应该如何处理?返回与该人和日期的“最新记录”相关的所有行?只返回其中一个,如果是,是哪一个? (或者“任何一个被捆绑的”都会同样好用吗?)
标签: sql oracle plsql greatest-n-per-group