Identity rows by groups

Identity rows by groups. start from 1 to N and repeat for each group.

Last updated:

Warning: Review and test in a non-production environment before running.

Back to results

select * from order_group;

1    ffasfasdfasd
2    ffasfasdfasd
3    ffasfasdfasd
4    ffasfasdfasd
5    ffasfasdfasd
6    ffasfasdfasd
7    ffasfasdfasd
8    ffasfasdfasd
9    ffasfasdfasd
10    ffasfasdfasd
11    ffasfasdfasd
12    ffasfasdfasd
13    ffasfasdfasd
14    ffasfasdfasd
15    ffasfasdfasd
16    ffasfasdfasd

select ID%8 new_id,id,name from order_group;

1    1    ffasfasdfasd
2    2    ffasfasdfasd
3    3    ffasfasdfasd
4    4    ffasfasdfasd
5    5    ffasfasdfasd
6    6    ffasfasdfasd
7    7    ffasfasdfasd
0    8    ffasfasdfasd
1    9    ffasfasdfasd
2    10    ffasfasdfasd
3    11    ffasfasdfasd
4    12    ffasfasdfasd
5    13    ffasfasdfasd
6    14    ffasfasdfasd
7    15    ffasfasdfasd
0    16    ffasfasdfasd

update order_group set new_id=8 where new_id=0;