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 и так далее.

→ Ссылка