说我有一个两列表。第一列'值'用随机数填充。第二列'sort'为空。如何按顺序更新整数'sort',将最小整数分配给'value'列中的最大值
首先:
Value | Sort
76 | 0
82 | 0
7 | 0
14 | 0
结果将是:
Value | Sort
76 | 2
82 | 1
7 | 4
14 | 3
答案 0 :(得分:3)
假设您使用的是什么SQL,可以使用row_number()函数来获取按照您希望的方式排序的行。
使用OVER
条款:
update table1
set sort = t.rnum
from (select table1.value, row_number() OVER (ORDER BY value desc) as rnum from table1) t