oracle

111.png排名,如果现在插入一条排名为1的数据,之前的1变成2,2变成3,类推,如果插入排名为2的数据,之前2变3,3变4,这个sql可以实现吗

帆软用户VlQZ2Asehf 发布于 2022-7-27 20:10
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
0
CD20160914Lv8专家互助
发布于2022-7-27 20:34(编辑于 2022-7-27 20:35)

rank,dense_rank,row_number,以及分组排名partition

rank:排名会出现并列第n名,它之后的会跳过空出的名次,例如:1,2,2,4

dense_rank:排名会出现并列第n名,它之后的名次为n+1,例如:1,2,2,3

row_number:排名采用唯一序号连续值,例如1,2,3,4

partition:将排名限制到某一分组

上面的函数都可以的。你可以自己选择

类似

select id,分数,ROW_NUMBER() OVER(order by 分数 desc ) AS 排名 from 你的表

sql查询出来后。你的数据假如只有5条。。那么它会按分数出来5名。如果你的数据表以增加了数据。它会按你表的数据做更新的。。

  • 2关注人数
  • 361浏览人数
  • 最后回答于:2022-7-27 20:35
    请选择关闭问题的原因
    确定 取消
    返回顶部