ログからグラフを作成する必要があります。ログエントリは定期的ではありません。
開始日の直前(つまり、直前のログが入力されたときから)の値とともに、日付間の行を選択したいと思います。
だから、言いましょう:
テーブルFoo
には列がid
あり、value
テーブルBar
にはid
、、、foo_id
およびvalue
列があり、
テーブルにBarLog
はid
、、、、およびがあります。foo_id
bar_id
bar_value
timestamp
したがって、1つのFooに多くのバーが存在する可能性があります。
たとえば、とfoo_id
の間に あるすべてのバーのBarLogからのすべての行と、各バーの値(行)が必要です。07/01/2012
07/31/2012
07/01/2012
それが理にかなっていることを願っていますが、そうでない場合は、明確にしようと思います。
編集(コンテキストのために左上):
これをもう1つのステップで単純化してみましょう。2つの外部キー、、、および、を含むテーブルがある場合fk_a
、fk_b
指定されたdisticttimestamp
を含む最新の行を取得するにはどうすればよいですか。fk_a
fk_b
提案されているように、ここに例があります。
+----+------+------+-------------+
| id | fk_a | fk_b | timestamp |
+----+------+------+-------------+
| 1 | 1 | 1 | 01-JUL-2012 |
| 2 | 2 | 2 | 02-JUL-2012 |
| 3 | 1 | 1 | 04-JUL-2012 |
| 4 | 2 | 2 | 05-JUL-2012 |
| 5 | 1 | 3 | 07-JUL-2012 |
+----+------+------+-------------+
afk_a
が1の場合、行3と5が必要になります。したがって、行1、3、および5(1の行)のみを見てfk_a
、それぞれの最新のものを取得しますfk_b
(行3は行1よりも新しいfk_b=1
)。
再度、感謝します。