次の例も、クエリーごとのタイムコードの推測に関するルールと制限を示しています。今回は内部クエリーと外部クエリーを示しています。内部クエリーのGROUP BY TIMEクエリーにはタイムコード列を推測するための単一のPTIテーブルがあるため、USING TIMECODE句は必要ありません。ただし、派生テーブル(min_temp)はPTIテーブルではなく、推測できるタイムコード列はないため、外側のGROUP BY TIMEクエリーにはUSING TIMECODE句が必要です。
SELECT AVG(min_temp) FROM ( SELECT MIN(temperature) FROM OCEAN_BUOYS GROUP BY TIME(minutes(1) AND BUOYID) ) AS "inner" (min_temp) GROUP BY TIME(minutes(10)); *** Failure 4359 Time Series: GROUP BY TIME clause may not be used without a TIMECODE specification.
次の例では、USING句を使用して、外側のブロックの派生テーブルから派生したTD_TIMECODEを指定します。
SELECT AVG(min_temp) FROM ( SELECT MIN(temperature), BEGIN($td_timecode_range) d1 FROM OCEAN_BUOYS GROUP BY TIME(minutes(1)) ) AS "inner" (min_temp, td_timecode) GROUP BY TIME(minutes(10)) USING TIMECODE(td_timecode); *** Failure 3706 Syntax error: Virtual columns $TD_TIMECODE_RANGE and $TD_GROUP_BY_TIME are not allowed in the GROUP BY TIME clause.