usng变量在mysql中为分组制作标签

mbyulnm0  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(259)

我想将myclass表中grouping列的值设置为group,方法是只与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     |

im使用变量:
设置@rn='1a,1b,1c';但我不能再继续下去了
我想在mysql查询中使用它,但实际上我想在laravelphp中使用它。谢谢你

o2gm4chl

o2gm4chl1#

你也许可以用这个逻辑
设置@rn:=-1;
更新t set grouping=1+(@rn:=@rn+1)div 4)order by id;

相关问题