我想在 myclass 表中设置分组列的值,并将其值设为分组,只需4人参加。
这是 myclass 表格ORDER BY ID:
id | name | grouping |
-----------------------
1 | abc | |
2 | bca | |
3 | sad | |
4 | tyu | |
5 | hjh | |
6 | lpk | |
7 | ass | |
8 | drc | |
9 | dfg | |
10 | drt | |
11 | dgf | |
这就是我想要的:
id | name | grouping |
------------------------
1 | abc | 1A |
2 | bca | 1A |
3 | sad | 1A |
4 | tyu | 1A | ==> the max name of group 1 is 4 name, and then change to group 1B
5 | hjh | 1B |
6 | lpk | 1B |
7 | ass | 1B |
8 | drc | 1B |
9 | dfg | 1C |
10 | dgf | 1C |
11 | drt | 1C |
我正在使用变量:
SET @rn ='1A,1B,1C'; 但不能从那里继续
我想在Mysql查询中使用它,但我实际上想在Laravel PHP中使用它。先谢谢
答案 0 :(得分:0)
你可以使用这个逻辑
设置@rn:= -1;
更新t set grouping = 1 +((@ rn:= @rn + 1)div 4) 按ID排序;