У меня есть любопытная проблема с расчетом, основанным на вычитании значения предыдущего дня с этого значения дня
Вот запрос. Выборочные данные и запрос результата hereрасчет mysql на основе предыдущей даты
SELECT pd.id,pd.price_date,pd.name_id,pd.class_id,pd.currency_id,pd.price,
pd.price - (SELECT price
FROM price_data as x
WHERE x.price_date < pd.price_date
AND x.name_id = pd.name_id
AND x.class_id = pd.class_id
AND x.currency_id = pd.currency_id
HAVING MAX(x.price_date)) as `change`
FROM price_data as pd
WHERE pd.name_id ='BILL'
ORDER bY pd.name_id,pd.class_id,pd.currency_id,pd.price_date
Если вы посмотрите на результат набора вы увидите, что вычисление работает, пока первый не откажет в row 6
. Кажется, он начинает добавлять предыдущее изменение к текущему изменению.
С чем связано определение даты?
Спасибо, Гордон. – jimlongo