Oracle中如何产生排名
需要按薪水对下面的人员进行排名,最高薪水排名 1。
显示的 RANK
列就是我想要的:
Empname sal address RANK
----------------------------------------------
Ram 3411 45,east road 2
Anirban 2311 34,west wind 4
Sagor 10000 34,south 1
Manisha 3111 12,d.h road 3
Need to rank the below by salary, with highest salary having rank 1.
The RANK
column shown is what I'm after:
Empname sal address RANK
----------------------------------------------
Ram 3411 45,east road 2
Anirban 2311 34,west wind 4
Sagor 10000 34,south 1
Manisha 3111 12,d.h road 3
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Oracle10g 意味着您可以使用 ROW_NUMBER 等分析/排名/窗口函数:
对于迂腐的人,请将
ROW_NUMBER
替换为 DENSE_RANK 如果您想看到平局获得相同的排名值:老式的排名方法是使用:
输出将与 DENSE_RANK 输出匹配 - 关系将具有相同的排名值,同时连续编号。
Oracle10g means you can use analytic/ranking/windowing functions like ROW_NUMBER:
For the pedantic, replace
ROW_NUMBER
with DENSE_RANK if you want to see ties get the same rank value:The old school means of ranking is to use:
The output will match the DENSE_RANK output -- ties will have the same rank value, while being numbered consecutively.
此处查看排名示例。
Take a look at rank - samples here.
我经常参考这个详细、信息丰富且快速的链接分析函数来获取分析函数。
I often refer to this detailed, informative yet quick link Analytical Functions for the analytical functions.