我有一个带有两列PK的表。我想添加一个新列nid
,根据特定的ORDER BY对每行(1,2,3 ...)进行编号。
所以:
x | y | z
3 7 2
1 4 1
当z编号时,ASC变为:
x | y | z | nid
3 7 2 | 2
1 4 1 | 1
我可以在SQL(Postgres 9.4)中执行此操作吗?
答案 0 :(得分:2)
如果我理解正确,您可以使用row_number()
:
select x, y, z, row_number() over (order by z) as nid
from t;