Oracle - 过滤重复记录

时间:2017-10-16 17:57:49

标签: sql oracle duplicates

当分支ID和员工ID相同时,我试图根据OPEN_DATE过滤重复的行

注意:我从多个表中提取这些列。我试图从其他帖子中找到答案,但无法找到。

表行

OPENED_DATE   BRANCH_ID  EMPLOYEE_ID 
01/13/2014     100       100121     <- FILTER(SELECT ONLY LATEST OPENED_DATE)
01/29/2014     100       100121     <- FILTER(SELECT ONLY LATEST OPENED_DATE)
02/03/2014     100       100121   
02/03/2014     100       100150

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以在branchid上使用行号,并按日期降序执行do命令。

SELECT t1.* 
FROM (SELECT OPENED_DATE
           , BRANCH_ID
           , EMPLOYEE_ID
           , ROW_NUMBER() (OVER PARTITION BY BRANCH_ID , EMPLOYEE_ID ORDER BY OPENED_DATE desc ) rn
      FROM table) as t1 
WHERE rn=1