今日の値から前日の値を引くことに基づく計算で、興味深い問題が発生しました
。クエリは次のとおりです。サンプルデータとクエリ結果はこちら
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
。以前の変更を現在の変更に追加し始めているようです。
日付の決定に何か問題がありますか?