Пользовательская переменная не увеличивается - PullRequest
0 голосов
/ 24 февраля 2012

Почему следующий запрос не увеличивает 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

1 Ответ

2 голосов
/ 24 февраля 2012

Вы забыли сделать 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...