Ref Ref1 Processed process_date
----------------------------------------------
123 xxxx Y 23-03-2017 12:10:00
123 zzzz N 23-03-2017 12:11:10
123 yyyy Y 23-03-2017 12:11:10
123 wwww Y 23-03-2017 12:11:11
121 xxxx Y 23-03-2017 11:10:00
121 yyyy N 23-03-2017 11:11:00
121 zzzz Y 23-03-2017 11:11:10
120 xxxx Y 23-03-2017 11:00:00
如何根据流程日期和Ref检索上述数据中的2条处理过的记录,并且有超过2条记录?
结果应为
123 xxxx Y 23-03-2017 12:10:00
123 yyyy Y 23-03-2017 12:11:10
121 xxxx Y 23-03-2017 11:11:00
121 zzzz Y 23-03-2017 11:11:10
编辑:
如果有2条或更多条记录具有相同的参考
,我想要2条记录谢谢!
答案 0 :(得分:2)
SELECT Ref
,Ref1
,Processed
,process_date
FROM (
SELECT t.*
,row_number() OVER (
PARTITION BY ref ORDER BY process_date
) rn
,COUNT(Ref) OVER (PARTITION BY ref) ct
FROM yourtable t
WHERE Processed = 'Y'
)
WHERE rn IN (
1
,2
)
AND ct >= 2
ORDER BY REF DESC
,process_date;
编辑:添加计数检查以限制记录计数> 2