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

时间:2017-03-27 15:52:53

标签: mysql mod

我想在' row'中尝试获取一个唯一的号码。每个{variable} 3条记录的列。 (所以我知道我们在第一排有这3个skus等。)

像这样:

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'不像预期的那样。

谢谢

1 个答案:

答案 0 :(得分:0)

这里给我一个机会。如果我已正确理解你的问题。

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'