Oracle Query TermDates唯一结果

时间:2012-01-05 15:12:18

标签: sql oracle11g

对不起,是oracle的新手。

我想获得当前和最后一张活动记录:

ID int (PK)
RecordID int
Description varchar
TermDate datetime

基本上,只要TermDate为null,它就会处于活动状态,但会根据RecordID获取最后终止的记录。因此,RecordID不是唯一的,但在结果中显示时将是唯一的。

1 个答案:

答案 0 :(得分:1)

假设您想要所有当前记录以及每个RecordID的最后一个活动记录,请尝试:

select * from
(select t.*, rank() over (partition by RecordID order by TermDate desc) rn
 from MyTable T)
where TermDate is NULL or rn = 1