【发布时间】:2019-11-21 03:03:11
【问题描述】:
我有包含三个字段的表名 Locations。我需要根据 last_update_date 找到特定人员 id 的最新两行,并比较这两个最新行的 location_id,如果 location_id 相同则返回 true,否则返回 false。
我尝试使用 join 编写查询,但似乎没有解决我的问题。
表格片段。 片段1:
Locations
person_id last_update_date location_id
368 21/10/08 14:37 234
368 28-02-00 06:18:12.000000000 AM 431
368 11-02-98 03:56:33.000000000 AM 431
368 13-01-98 08:50:37.000000000 AM 212
片段2:
person_id last_update_date location_id
368 21/10/08 14:37 null
368 28-02-00 06:18:12.000000000 AM 431
368 11-02-98 03:56:33.000000000 AM 431
368 13-01-98 08:50:37.000000000 AM 212
片段3:
person_id last_update_date location_id
368 21/10/08 14:37 431
368 28-02-00 06:18:12.000000000 AM 431
368 11-02-98 03:56:33.000000000 AM 431
368 13-01-98 08:50:37.000000000 AM 212
片段4:
person_id last_update_date location_id
368 21/10/08 14:37 431
对于上面的表 sn-p1,person id 368 的两个最新行是前两行没有相同的 location_id,所以在这种情况下我想返回 false。请帮助我进行相同的 oracle 查询。 Snippet2,查询应返回 false。 Snippet3,查询应返回 true。 Snippet4,查询应返回 false,因为没有其他具有相同 person_id 的行可比较。
【问题讨论】: