更新/选择连续模式的行

Иво*_*дев 0 t-sql sql-server

如何更新表中的列以遵循特定模式?目前我的DesiredResultAfterUpdate是空的,我想设置它,以便ID 1,2,3为1,2,3.那么下一组ID(ID4,5,6和7,8,9等等)将是1,2,3?

ID DesiredResultAfterUpdate Name
1  1                        My First Row
2  2                        My 2nd Row
3  3                        My Third Row
4  1                        My Forth Row
5  2                        My Fifth Row
6  3                        My Next Row
7  1                        My 7th Row
8  2                        etc
9  3                        etc
Run Code Online (Sandbox Code Playgroud)

到目前为止我试过了

UPDATE coins set coin_Row = 1
UPDATE coins set coin_Row = 2 where coin_SortOrder%2=0
UPDATE coins set coin_Row = 3 where coin_SortOrder%3=0
Run Code Online (Sandbox Code Playgroud)

哪个只适用于每个第3项......(令人震惊)

Dan*_*man 5

我认为这会做你想要的,使用你的UPDATE查询作为例子:

UPDATE coins
SET coin_Row = (coin_SortOrder-1) % 3 + 1;
Run Code Online (Sandbox Code Playgroud)