2017-03-27 60 views
0

我试图在'行'列中为每个{变量} 3条记录获取唯一编号。 (所以我知道我们必须在第一行等这3个SKU)的mySql为每3条记录选择唯一编号

像这样:

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:[email protected]+1 AS line, sku, mod(@rank+1, @rows) 'row' 

但列“行”是不像预期的那样。

谢谢

回答

0

这里给出一个去。如果我已经正确理解你的问题。

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

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

工作的很好!荣誉 – joell