航空機の機体保守サービスを提供する企業によって実行される3つのジョブに関する次の情報を検討します。
ID | Job_Type | Charge | Duration | NumWorkersAssigned |
---|---|---|---|---|
123 | Wing | 80 | 4 Jan 2011 – 8 Jan 2011 | 5 |
123 | Fuselage | 20 | 5 Jan 2011 – 7 Jan 2011 | 3 |
123 | Landing Gear | 6 | 6 Jan 2011 – 9 Jan 2011 | 1 |
継続期間が有効時間列であるテンポラル テーブルに情報が格納される場合、すべての行の有効時間を次のように配置できます。
Jan 4 5 6 7 8 9 |-------| |---| |-----|
sequenced問合わせの集約は、すべての行の組み合わせされたvalid-timeを、重なり合う期間と重なり合わない期間に分割します。この例では、有効時間の期間は、テーブルのすべての行に対するすべてのvalid-time期間の境界により定義される、次の5つの固有の継続期間を記述します。
Jan 4 5 6 7 8 9 |-|-|-|-|-|
Jan 4-5、5-6、6-7、7-8 および 8-9。
(WHERE句の対象がない)テーブル全体のsequenced問合わせは、次の5つの固有の継続期間のそれぞれを通じての集約を返します。
SEQUENCED VALIDTIME SELECT id, COUNT(*) jobcount FROM aircraft_service GROUP BY 1 ORDER BY VALIDTIME;
次の結果が得られます。
ID | Jobcount | VALIDTIME |
---|---|---|
123 | 1 | ('11/01/04', '11/01/05') |
123 | 2 | ('11/01/05', '11/01/06') |
123 | 3 | ('11/01/06', '11/01/07') |
123 | 2 | ('11/01/07', '11/01/08') |
123 | 1 | ('11/01/08', '11/01/09') |
集約を含むsequenced valid-time問合わせとともにORDER BY VALIDTIME句を使用する場合、順序には集約を実行するために計算された生成済みのVALIDTIME固有期間が考慮されます。
GROUP BY VALIDTIME句を使用する場合、グループ化は固有期間を使用しませんが、代わりに非集約問合わせの結果に割り当てられる同じVALIDTIME値を使用します。それは、最初に問合わせが実行されたテーブルの該当行の有効期間を含む問合わせの適用期間の交差です。