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