次のような Oracle 11g データベースのテーブルがあります。
process_times:
--------------------------------------------
machine_id | load_id | start_time | end_time
レコードの例は次のようになります。
process_times:
----------------------------------------------------------------
machine_id | load_id | start_time | end_time
----------------------------------------------------------------
220 | 25 | 06/24/2012 04:29:00 | 06/25/2012 04:42:38
187 | 23 | 06/22/2012 14:41:00 | 06/24/2012 00:34:32
187 | 18 | 06/20/2012 11:57:00 | 06/20/2012 23:53:51
各マシンのロード間のダウンタイムを表す属性との関係を返すクエリを作成しようとしています。ダウンタイムとは、特定のマシンの各 end_time と次の start_time の間の時間を意味します。
したがって、上記の例では、次のような結果が得られます。
result:
----------------------
machine_id | down_time
----------------------
220 | 0
187 | (06/22/2012 14:41:00 - 06/20/2012 23:53:51) -- the actual result, I wrote it like this to be more clear
私は午後のかなりの部分でこれをいじっていましたが、それは私が実際に書き込もうとしているクエリの前提条件にすぎないので、誰かが私を正しい方向に導くための指針を持っているかどうかを確認するために投稿すると考えました方向。
編集言及すべきもう 1 つの制約は、特定の期間のダウン時間の合計だけでなく、各マシンの個々のダウン時間を結果リストに含める必要があることです。