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 に答える