最大値の平均値 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - 時系列テーブルと操作の概要

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
ft:locale
ja-JP
ft:lastEdition
2021-09-23
dita:mapPath
ja-JP/zzg1600277315070.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1208
Product Category
Software
Teradata Vantage

2つのクエリーの例では、入れ子になった最大値の平均値を示しています。最初のクエリーでは、テーブルはPTIテーブルであり、2番目の例は非PTIテーブルを示しています。

/*PTI Table*/
SELECT AVG(TEMP_MAX) FROM (
    SELECT MAX(TEMPERATURE) AS TEMP_MAX
    FROM OCEAN_BUOYS
    WHERE TD_TIMECODE BETWEEN TIMESTAMP '2014-01-06 08:00:00' AND TIMESTAMP '2014-01-06 10:30:00'
    GROUP BY TIME (MINUTES(10) AND BUOYID)
) AS NESTED_MAX_TABLE;


/*Non-PTI Table*/
SELECT AVG(TEMP_MAX) FROM (
    SELECT MAX(TEMPERATURE) AS TEMP_MAX
    FROM OCEAN_BUOYS_NONPTI
    WHERE TIMECODE BETWEEN TIMESTAMP '2014-01-06 08:00:00' AND TIMESTAMP '2014-01-06 10:30:00'
    GROUP BY TIME (MINUTES(10) AND BUOYID)
    USING TIMECODE(TIMECODE)
) AS NESTED_MAX_TABLE;

結果は、派生テーブルNESTED_MAX_TABLEに読み込まれます。これらは昇順で表示されますが、これは必ずしも派生テーブルの値の予想される順序ではありません。

両方のクエリーの結果は同じであるため、1つの結果セットだけが表示されます。
TEMP_MAX
43
56
79
99
100

結果: 結果の最大値の実際の結果(NESTED_MAX_TABLEで入れ子になっている)

Average(TEMP_MAX)
-----------------
75