0

为什么以下查询不会增加 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
4

1 回答 1

2

你忘了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
于 2012-02-24T00:06:29.580 回答