表1如下
ID Name PID updateDT
-----------------------
1 A 26 21-Jan-2018
2 A 26 21-Dec-2017
3 A 26 <null>
4 B 45 <Null>
5 B 45 21-Dec-2017
想要编写一个查询,以便结果为
ID Name PID updateDT Lt_Record(Active record ID)
----------------------------------------
1 A 26 21-Jan-2018 3
2 A 26 21-Dec-2017 3
3 A 26 <null> 3
4 B 45 <Null> 4
5 B 45 21-Dec-2017 4
请帮忙
答案 0 :(得分:1)
您可以使用first_value()
功能:
select id, name, pid, updatedt,
first_value(id) over (partition by pid order by updatedt desc nulls last) as lt_record
from the_table
order by pid, updatedt desc nulls last;
在线示例:http://dbfiddle.uk/?rdbms=oracle_11.2&fiddle=d10412a2dc0aed9ee9c21d407d12b40c