変更された場合にのみDerbyデータベースにデータを挿入するアプリケーション用の新しいデータ ソースを受け取りました。通常、欠落しているデータは問題ありません。データ (時間の経過に伴う値) を使用して折れ線グラフを描いています。2 つの点の間に線を引いて、任意の点での期待値を外挿します。問題は、この場合の欠落データは「直線を引く」ことを意味するため、これを行うとグラフが正しくないことです。
これを修正するには 2 つの方法があります。欠落しているデータを別の方法で処理する新しいクラスを作成する方法 (prefuse、使用している描画ライブラリが描画を処理する方法が原因で難しい場合があります)、または行を複製する方法です。各行のx値を変更しながら、y値を同じままにします。データベースとレンダラーを橋渡しする Java でこれを行うことも、SQL を変更することもできます。
私の質問は、以下のような結果セットが与えられた場合です:
+-------+---------------------+
| value | received |
+-------+---------------------+
| 7 | 2000-01-01 08:00:00 |
| 10 | 2000-01-01 08:00:05 |
| 11 | 2000-01-01 08:00:07 |
| 2 | 2000-01-01 08:00:13 |
| 4 | 2000-01-01 08:00:16 |
+-------+---------------------+
8:00:20 にクエリを実行すると仮定すると、SQL を使用して次のようにするにはどうすればよいでしょうか? 基本的に、すでに取得されるまで、毎秒行を複製しています。received
すべての意図と目的のために、一意です(そうではありませんがWHERE
、クエリの句が原因です)。
+-------+---------------------+
| value | received |
+-------+---------------------+
| 7 | 2000-01-01 08:00:00 |
| 7 | 2000-01-01 08:00:01 |
| 7 | 2000-01-01 08:00:02 |
| 7 | 2000-01-01 08:00:03 |
| 7 | 2000-01-01 08:00:04 |
| 10 | 2000-01-01 08:00:05 |
| 10 | 2000-01-01 08:00:06 |
| 11 | 2000-01-01 08:00:07 |
| 11 | 2000-01-01 08:00:08 |
| 11 | 2000-01-01 08:00:09 |
| 11 | 2000-01-01 08:00:10 |
| 11 | 2000-01-01 08:00:11 |
| 11 | 2000-01-01 08:00:12 |
| 2 | 2000-01-01 08:00:13 |
| 2 | 2000-01-01 08:00:14 |
| 2 | 2000-01-01 08:00:15 |
| 4 | 2000-01-01 08:00:16 |
| 4 | 2000-01-01 08:00:17 |
| 4 | 2000-01-01 08:00:18 |
| 4 | 2000-01-01 08:00:19 |
| 4 | 2000-01-01 08:00:20 |
+-------+---------------------+
ご協力いただきありがとうございます。