根据其他列值

时间:2017-05-19 18:21:12

标签: sql oracle sorting

说我有一个两列表。第一列'值'用随机数填充。第二列'sort'为空。如何按顺序更新整数'sort',将最小整数分配给'value'列中的最大值

首先:

Value | Sort
76    | 0
82    | 0
7     | 0
14    | 0

结果将是:

Value | Sort
76    | 2
82    | 1
7     | 4
14    | 3

1 个答案:

答案 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