3

今日の値から前日の値を引くことに基づく計算で、興味深い問題が発生しました
。クエリは次のとおりです。サンプルデータとクエリ結果はこちら

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。以前の変更を現在の変更に追加し始めているようです。

日付の決定に何か問題がありますか?

4

1 に答える 1