我想通过仅与4个人聚会将myclass表中分组列的值设置为group的值。

这是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中使用它。之前感谢

最佳答案

你可以使用这种逻辑

设置@rn:= -1;

更新t
    设定分组= 1 +((@rn:= @rn + 1)div 4)
    按ID排序;

10-08 20:20