Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вычислить разницу между предыдущей записью / 5 сообщений из 5, страница 1 из 1
29.12.2014, 11:07:28
    #38845309
Xploder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычислить разницу между предыдущей записью
Доброго времени суток, есть таблицы статистики с цифровым данными, задача сделать выборку статистики и посчитать разницу между идущих по порядку записей, пример:

id | count | виртуальное поле (разница)
---------------
1 | 10 | 0%
2 | 15 | +5%
3 | 9 | -6%
4 | 8 | -1%

Заранее спасибо!
...
Рейтинг: 0 / 0
29.12.2014, 11:27:01
    #38845331
JeStone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычислить разницу между предыдущей записью
Xploder,
Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT id, count, diff
FROM (
SELECT id, count, IF(@x IS NULL, 0, count - @x) AS diff, @x := COUNT AS x
FROM (
SELECT *
FROM table1
ORDER BY id) t, (SELECT @x := NULL) i) t;
...
Рейтинг: 0 / 0
29.12.2014, 15:05:54
    #38845702
Xploder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычислить разницу между предыдущей записью
JeStone, спасибо, в принципе то что надо, но не могу завести этот пример с DESC сортировкой, выборка идет как надо, вот diff задом на перед
...
Рейтинг: 0 / 0
29.12.2014, 15:56:02
    #38845786
JeStone
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычислить разницу между предыдущей записью
Xploder,

покажите как данные должны выглядить для DESC. Возможно подойдет этот вариант
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT id, count, diff
FROM (
SELECT id, count, IF(@x IS NULL, 0, count - @x) AS diff, @x := COUNT AS x
FROM (
SELECT *
FROM table1
ORDER BY id) t, (SELECT @x := NULL) i) t
ORDER BY id DESC
...
Рейтинг: 0 / 0
29.12.2014, 16:01:47
    #38845799
Xploder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычислить разницу между предыдущей записью
JeStone, да именно, то что нужно, я ORDER не там добавил, Спасибо огромное!!!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Вычислить разницу между предыдущей записью / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]