LeetCode数据库178 - 分数排名 - 窗体函数的用法
题目链接
https://leetcode-cn.com/problems/rank-scores/
关于窗体函数的用法
下面三个窗体函数的例子基于这个前提:如果现在有五个分数:9、9、8、7、6。
-
rank()
:排名为相同时记为同一个排名, 所有排名都参与总排序。排名后为:1 1 3 4 5
。 -
dense_rank() over (PARTITION BY xx ORDER BY xx [DESC])
:排名相同时记为同一个排名, 并且不参与总排序。排名后为:1 1 2 3 4
。-
dense_rank() over (order by xx [desc])
:如果不指定partition by的话:相当于所有行数据一个 partition, 数据进行区内排序 -
dense_rank()
:相当于每一行数据一个窗口, 对数据进行比较
-
-
row_number() over (over (PARTITION BY xx ORDER BY xx [DESC]))
:排名相同时记为下一个排名。排名后为:1 2 3 4 5
。
AC代码
select
Score,
dense_rank() over (order by Score desc) as 'Rank'
from
Scores;
分类:
数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」