ITPub博客

首页 > 数据库 > Oracle > oracle 之 三大分析函数的用法

oracle 之 三大分析函数的用法

Oracle 作者:keoleo 时间:2013-11-28 15:44:00 0 删除 编辑

rank() over,dense_rank() over,row_number() over的区别

--rank() over课程编号为4的课程成绩相同的人排名相同,排名不连续 1 2 2 4

 select cno, rank() over(partition by cno order by grade desc)

  from t_score

 where instr('2,4', cno) > 0

-- dense_rank() over课程编号为4的课程成绩相同的人排名相同,排名不连续 1 2 2 3

select cno 课程编号, dense_rank() over(partition by cno order by grade desc) 排名

  from t_score

 where instr('2,4', cno) > 0

-- row_number() over课程编号为4的课程成绩相同的人排名相同,排名连续 1 2 3 4

select cno 课程编号, row_number() over(partition by cno order by grade desc) 排名

  from t_score

 where instr('2,4', cno) > 0

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22922548/viewspace-1109310/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-11-24