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