SQL RANK() 函数可对查询结果按给定列进行排名,返回每个行的相对位置。它可用于分区排名,具有重复值时跳过排名,并返回 NULL 值行的 NULL 排名。

SQL RANK() 函数用法
SQL RANK() 函数用于对查询结果进行排名,可以为每行分配一个排名值。排名值表示该行在结果集中的相对位置。
语法
RANK() OVER (PARTITION BY partition_expression ORDER BY order_expression)
参数
partition_expression (可选):将结果集划分为不同的分区,并对每个分区内的行进行排名。如果不指定,则对整个结果集进行排名。order_expression:指定用于排序的列,排名将基于此列的值。
功能
RANK() 函数返回一个数字,表示该行在结果集中的排名。它具有以下特点:
阿里云-虚拟数字人
阿里云-虚拟数字人是什么? …
2 查看详情
具有相同值的行将获得相同的排名。如果有重复的行,它们的排名将相同,但后续行将跳过这些排名(例如,如果一行排在第 3 位,并且下一行与之相等,那么下一行的排名将是第 5 位)。对于具有 NULL 值的行,它们的排名将为 NULL。
示例
以下示例演示了对员工表中的员工按工资进行排名:
SELECT employee_id, employee_name, salary,RANK() OVER (ORDER BY salary DESC) AS rank_by_salaryFROM employees;
结果
1John Smith100012Jane Doe90023Mark Jones80034Mary Johnson70045David Green7004
在这个示例中,John Smith 排在第一位,因为他的工资最高。Jane Doe 排在第二位,因为她的工资低于 John Smith。Mark Jones 排在第三位,依此类推。注意,Mary Johnson 和 David Green 的工资相同,因此他们获得相同的排名(第 4 位)。
以上就是sql rank函数怎么用的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/618066.html
微信扫一扫
支付宝扫一扫