Задавайте вопросы, мы ответим
Вы не зашли.
Подскажите можно ли както внутри Mysql работать с данными строк по отдельности.
Т.е. например такой столбец
--------
vol1
--------
1673
1875
2077
2278
2480
2682
--------
Как мне вывести не значения, а разницу последующего и предидущего значений в столбце?
Т.е.
1875-1673
2077-1875
2278-2077
.............
Отредактированно demiurg (23.10.2011 23:57:35)
Неактивен
Неактивен
Вася, а инструкция (select @a:=0) z выполняется до запроса select vol1-@a `разница`, @a:=vol1 from `таблица` t?
То есть если запросы идут через запятую, то выполнение идёт в обратном порядке?
Просто результат получается идентичным с результатом последовательности
Отредактированно deadka (24.10.2011 02:09:20)
Неактивен
Вася, а инструкция (select @a:=0) z выполняется до запроса select vol1-@a `разница`, @a:=vol1 from `таблица` t?
То есть если запросы идут через запятую, то выполнение идёт в обратном порядке?
(select @a:=0) - это подзапрос, поэтому он выполняется в первую очередь.
Неактивен
deadka написал:
Вася, а инструкция (select @a:=0) z выполняется до запроса select vol1-@a `разница`, @a:=vol1 from `таблица` t?
То есть если запросы идут через запятую, то выполнение идёт в обратном порядке?
Просто результат получается идентичным с результатом последовательностиset @a=0; select vol1-@a `diff`, @a:=vol1 from `t_4852` t;
Так и задумывалось
В данном случае "(select @a:=0) z", это не отдельный запрос, а подзапрос в части from, т.е. запятая в данном случае эквивалент join.
И если мы посмотрим explain, то увидим, что сначала идет выполнение подзапроса, в результате чего переменная @a получает начальное значение.
Неактивен
Спасибо, сам бы не догадался . Неявно както Всё работает...
А вот конец строки (select @a:=0) z - ясно что обнуление перед началом первого запроса, а физически это объединение 2х запросов получается?
*******
а , понятно теперь
2deadka
Я сортирую по времени из другого столбца, а данные в vol1 логистически только возрастают.
Отредактированно demiurg (24.10.2011 02:37:22)
Неактивен
Ох и конструкция , получается здесь идёт join без условия on с таблицей z, у которой один элемент и он равен 0?
Идея ясна, но
Неактивен
Согласен, но у меня query browser каждый запрос выполняет в новой сессии, а пользовательская переменная переменная живет в течении сессии, поэтому в таких случаях, чтобы не запускать консольный клиент я пишу такое извращение.
Неактивен
Да, mysql query browser и phpmyadmin грешат этим .
Неактивен