用户变量不递增
问题描述:
为什么下面的查询不会递增seq?用户变量不递增
SELECT @sq :=if(@previous=uid,@sq,0)+1 as seq
,@previous:=uid as user
FROM test
结果:
seq user
1 111
1 111
1 111
1 222
1 222
1 222
答
你忘了在前面做set @sq:=0,@previous:=0
?
或者你总是可以在其加入到查询:
SELECT @sq :=if(@previous=uid,@sq,0)+1 as seq
,@previous:=uid as user
FROM test, (select @sq:=0, @previous:=0) foo