Задавайте вопросы, мы ответим
Вы не зашли.
я питаюс при виборке данних из таблиц, нумерировать записи, но нумерировать так: в перви 3 запис нумерировать как
1
2
3
а потом (от четверти строки) начать нумерацка снова и продалжать етот втарои нумераця до конца всех записеи. то есть резултат надо такои
1
2
3
1
2
3
4
5
....
....
777
питаюс сделать так, но резултат етого запроса, обичная нумераця, от 1 до конца, не могу понимать почему? по моему етот запрос надо именно так нумерировать, как написал више, очен прашу, кто-то скажите плиз где мне логическая ошибка в етом запросе
mysql-> SET @n = 0
mysql-> SET @start_again = 'true'
Отредактированно dadli (18.09.2012 15:47:37)
Неактивен
Потому что на этапе @n=2 конструкция
CASE
WHEN @n = 3 AND @start_again = 'true' THEN @n := 1
ELSE @n := @n + 1
END
сделает @n=3, а следующая конструкция сделает @start_again := 'false'.
Таким образом на следующем шаге у вас будет @n=3 и @start_again := 'false'. Т.е. условие для сброса счетчика никогда не выполняется.
Добавьте SELECT @n, @start_again, CASE.... чтобы наглядно видеть ход присвоения переменных.
Неактивен
aх да, понятно, спасибо огромное vasya
Неактивен