Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте, у меня такой вот запрос и он почему то работает не так как я этого жду.
Неактивен
поясните на примере
Неактивен
Результат запроса для одного пользователя(установлена галочка Показать BLOB содержимое):
user @item:=round(sign(vote)*log(vote)) @item:=if(@item is NULL, vote, @item) sum
16 6 6 6
16 NULL -5 -5
а если, посчитать сумму (sum(@item) AS sum):
user @item:=round(sign(vote)*log(vote)) @item:=if(@item is NULL, vote, @item) sum
16 6 6 12
Хотя ожидал что будет поле sum = 1
Отредактированно Марк (24.11.2013 13:52:33)
Неактивен
Это из-за того, что присваивание и чтение значений пользовательских переменных происходят на разных стадиях обработки запроса.
Нужно
Неактивен
Кстати, а зачем вам вообще здесь пользовательские переменные:
Неактивен
Ну а если все же использовать переменные, то перед запросом на всякий случай определяйте тип переменной ( SELECT @my_var:=0; ).
Обсуждалось в http://bugs.mysql.com/bug.php?id=61408
Неактивен
Спасибо, помогли))
Неактивен