$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 |