1分析函数
分析函数根据一组行来进行聚合计算,用于计算完成狙击的累积排名等,分析函数为每组记录返回多个行 rank_number()
查询结果按照次序排列,不存在并列和站位的情况,可以用于做Oracle的分页
例如:SELECT tname,sal,row_number() OVER(ORDER BY sal DESC) 降序 FROM teacher;
查询结果如图:
rank()
排序结果如有并列成绩,则并列成绩就会占取下一顺序的位置,下一个成绩则会跳过下一序号排列
例如:SELECT tname,sal,RANK() OVER(PARTITION BY deptno ORDER BY sal) 降序 FROM teacher;
dense_rank()
查询的排序结果如果有相同成绩,则相同的成绩名次并列但不占下一个名次的位置,查询的结果还是顺序的
例如:SELECT tname,sal,dense_rank() OVER(PARTITION BY deptno ORDER BY sal DESC) 降序 FROM teacher;