最近发现下面的语句在oracle中很管用,可
SELECT re.*,
RANK() OVER(PARTITION BY re.policy_no ORDER BY re.pre_eff_date desc) row_num
FROM RENEWAL_EXTRACT re
即先按照pre_eff_date降序排列,再根据如row_num=1取第一条,row_num<n取0~n条。
SELECT re.*,
RANK() OVER(PARTITION BY re.policy_no ORDER BY re.pre_eff_date desc) row_num
FROM RENEWAL_EXTRACT re
即先按照pre_eff_date降序排列,再根据如row_num=1取第一条,row_num<n取0~n条。
介绍了一种在Oracle数据库中使用窗口函数RANK()进行记录排名的方法,通过PARTITION BY和ORDER BY子句实现按policy_no分组并按pre_eff_date降序排列,从而方便地选取特定记录。

397

被折叠的 条评论
为什么被折叠?



