mySql为每3条记录选择唯一编号

mySql为每3条记录选择唯一编号,mysql,mod,Mysql,Mod,我试图为每个{variable}3记录在“row”列中获取一个唯一的数字。(因此我知道我们在第一排有这3个SKU等) 像这样: line sku row 1 aaa 1 2 abb 1 3 abc 1 4 acc 2 5 acb 2 6 aab 2 7 acc 3 8 acb 3 9 aab 3 所以我有以下几点 SET @rank=0;

我试图为每个{variable}3记录在“row”列中获取一个唯一的数字。(因此我知道我们在第一排有这3个SKU等)

像这样:

line    sku   row 
1       aaa   1
2       abb   1
3       abc   1 
4       acc   2
5       acb   2
6       aab   2
7       acc   3
8       acb   3
9       aab   3
所以我有以下几点

SET @rank=0;
SET @rows=3;

 select @rank:=@rank+1 AS line, sku, mod( @rank+1, @rows) 'row'
但列“row”与预期不符


谢谢

来,试试看。如果我正确理解了你的问题

SET @rank = 0;
SET @rows = 3;
SET @count = 0;

select @rank:=@rank+1 AS line, sku, IF(mod(@rank+1,@rows)=2, @count:=@count+1, @count) AS 'row'

工作得很好!荣誉