16.20 - $TD_GROUP_BY_TIME - Teradata Vantage NewSQL Engine

Teradata Vantage™ 時系列テーブルおよび操作

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1208-162K-JPN

$TD_GROUP_BY_TIMEシステム仮想列は、1、2、3などのタイムバケットの数を格納します。

時系列システム仮想列別のグループを取得および使用するには、関数またはORDER BY句で$TD_GROUP_BY_TIMEにアクセスします。
  • デフォルトのTITLEはGROUP BY TIMEです。
  • AS句を使用して、デフォルトのタイトルの名前を変更できます。
  • 列のデータ型はBIGINTです。
  • BIGINTを使用するのと同じ方法で$TD_GROUP_BY_TIME名前ラベルを使用します。
    • $TD_GROUP_BY_TIMEを直接参照できます。
    • $TD_GROUP_BY_TIMEは、任意の式(関数に渡すことを含む)で使用できます。
    • 他のBIGINT列と類似の、ORDER BY句の$TD_GROUP_BY_TIMEを使用できます。

$TD_GROUP_BY_TIMEの値

GROUP BY TIMEタイム ゼロ値で開始すると、時間連続は、GROUP BY TIME時間間隔と等しい期間をそれぞれが持つ、一連の等しいサイズの連続時間セグメントに分割されます。例えば、タイム ゼロ値が2016-10-01 08:00で、GROUP BY TIME時間間隔が15分の場合、時間の連続は、タイム ゼロ値から始まりサイズが15分の一連の連続セグメントに分割されます。

これらの時間セグメントの番号付けスキーマでは、最初のセグメント番号1にラベルを付け、その後、1、2、3、4、...Lastと正の増分整数の割り当てを行ないます。この番号付けの割り当ては、GROUP BY TIMEタイムバケット番号と呼ばれます。

次の例は、クエリーの一部として指定された単一の時間範囲を示しています。

SELECT … WHERE TD_TIMECODE BETWEEN TIMESTAMP ’2016-10-01 08:00:00’ AND TIMESTAMP ’2016-10-01 09:00:00’ GROUP BY TIME(MINUTES(15))

これにより、次の結果が生成されます。

GROUP BY TIME(MINUTES(15))
1
2
3
4

次の例のクエリーは、複数の時間範囲を指定します。

SELECT … WHERE TD_TIMECODE BETWEEN TIMESTAMP ’2016-10-01 08:00:00’ AND TIMESTAMP ’2016-10-01 09:00:00’
OR TIMECODE BETWEEN TIMESTAMP ’2016-10-01 12:15:00’ AND TIMESTAMP ’2016-10-01 13:30:00’
GROUP BY TIME(MINUTES(15))

結果:

GROUP BY TIME(MINUTES(15))
1
2
3
4
18
19
20
21
22