日付と価格を含むテーブルがあり、2 つの日付の間の範囲を選択しようとしていますが、終了日の後に n 行を追加したいと考えています。
これはデータのサンプルです:
2013 年 1 月 9 日 29.67、 2013 年 1 月 8 日 29.51、 2013-01-07 28.69、 2013 年 1 月 4 日 28.01、 2013 年 1 月 3 日 27.88、 2013 年 1 月 2 日 27.44、 2012 年 12 月 31 日 26.20、
たとえば、私はやっています:
SELECT *
FROM $table_name
WHERE date between '2013-01-09' AND '2013-01-04'
ORDER BY date DESC
私がやろうとしているのは、2013-01-04 に 3 行を加えて 2012-12-31 になるように、3 行余分に追加することです (ご覧のとおり、連続していないため、日数ではありません)。
問題を説明するだけでも難しいので、オンラインで解決策を見つけようとすることを想像してみてください。
要求に応じて更新します。
そこで、私が抱えている問題を言い換えて単純化しようとします。これまで書いてきたことはすべて忘れて、新しい視点から始めましょう。私が抱えている問題を2つのステップに分けます。また、例として簡単な数字を使用します。新しいデータ テーブル:
2013-01-09 7 2013-01-08 1 2013-01-07 9 2013-01-04 1 2013-01-03 8 2013-01-02 5 2012-31-12 6
特定の日付範囲について、これらの値の平均を計算したいと考えています。したがって、データ範囲が 2013 年 1 月 9 日から 2013 年 1 月 3 日で、期間 2 の平均である場合、表は次のようになります。
2013-01-09 7 4 2013-01-08 1 5 2013-01-07 9 5 2013-01-04 1 4.5 2013 年 1 月 3 日 8 6.5 2013 年 1 月 2 日 5 該当なし
これを行うには、問題はありません。ここで問題が発生します。範囲の最初の日付については、期間 2 の前にデータを選択していないため、期間 2 の平均を計算できないことに注意してください。問題は、2013 年 1 月 2 日の平均も計算できるように、日付範囲 (特に 2012 年 31 月 12 日からのデータ) の後に 1 つの余分なポイントを選択するにはどうすればよいかということです。
時間をありがとう。