我有如下要求。我有如下表:
ID SID VID VTXT
1 10 v_5 Five
1 10 v_5 asd
2 11 v_7 Seven
2 11 v_7 seven
3 12 v_9 NINE
3 12 v_9 Nine
3 12 v_9 nine
我需要输出为:
ID SID VID VTXT
1 10 v_5 Five
2 10 v_5 asd
1 11 v_7 Seven
2 11 v_7 seven
1 12 v_9 NINE
2 12 v_9 Nine
3 12 v_9 nine
请帮我解决这个问题。
答案 0 :(得分:2)
我不知道你为sql-server做的标签的语法是
update table
set ID=(select rn=row_number() over(partition by ID order by ID) from table)
答案 1 :(得分:0)
你的意思是你想要那样订购结果?
Order by SID, ID
答案 2 :(得分:0)
您可以将ROW_NUMBER()函数与Partition By子句一起使用
以下是样本
SELECT row_number() AS ID,
SID,
VID,
VTXT
FROM VTable;
Partition By允许重新编号由PARTITION BY子句列值的每个组合定义的组中的行。
您可以参考参考文件中的SQL Row_Number样本,希望有用