mySql为每3条记录选择唯一编号
我试图为每个{variable}3记录在“row”列中获取一个唯一的数字。(因此我知道我们在第一排有这3个SKU等) 像这样: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;
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'
工作得很好!荣誉