SELECT только увеличивающиеся значения MYSQL
Не могу подобрать запрос со сравнением ячейки по предыдущей строке. что то типа
SELECT * FROM `tab` WHERE col>col(предыдущей строки) ORDER BY id limit 99999
MySQL - Версия сервера: 10.4.11-MariaDB.
У меня есть хронология изменения цены с параметрами этого изменения, мне нужны только те строки, в результате которых цена выросла.
Ответы (1 шт):
Автор решения: fixer
→ Ссылка
SELECT t1.id AS id1,t2.id AS id2,
t1.price AS price1,t2.price AS price2,
t2.price - t1.price AS diff
FROM tab AS t1,tab AS t2
WHERE t1.id+1=t2.id AND (t2.price - t1.price)>0
ORDER BY t1.id
Исходная таблица.
Результат запроса.
Берем 2 раза одну таблицу, но со смещением в одну строку t1.id+1=t2.id, у нас получается в одной строчке текущая и следующая строчки, разница price заносится в колонку diff.
Но запрос будет работать только при условии, если все значения по колонке id последовательные, то есть 1,2,3,4 и так далее.

