首页 > 解决方案 > SQL:根据属性顺序对行进行排序

问题描述

我想将一个属性(称为position)的值排序为另一个属性排序的行号。

示例:如果我有以下属性:位置,点我想按点(降序)对表格进行排序,然后分配position有序的行号例如。

Position --- Points

1 ------------ 99

2 ------------ 97

3 ------------ 81

etc..

标签: sqlsql-serverdatabasetsql

解决方案


您可以使用窗口函数 row_number()

由于OP想要更新记录

with data
  as (
    select row_number() over(order by points desc) as rnk_position
           ,position
           ,points
      from leagueParticipantView /* Is this a view or a table*/
     where leagueName LIKE &leagueName
     )
update data
   set position = rnk_position

推荐阅读