2つの例のクエリーは、入れ子になった最小値の平均を示します。最初のクエリーでは、テーブルはPTIテーブルであり、2番目の例は非PTIテーブルを示しています。
/*PTI Table*/
SELECT AVG(TEMP_MIN) FROM (
SELECT MIN(TEMPERATURE) AS TEMP_MIN
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_MIN_TABLE;
/*Non-PTI Table*/
SELECT AVG(TEMP_MIN) FROM (
SELECT MIN(TEMPERATURE) AS TEMP_MIN
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_MIN_TABLE;
結果は、派生テーブルNESTED_MIN_TABLEに読み込まれます。これらは昇順で表示されますが、これは必ずしも派生テーブルの値の予想される順序ではありません。
両方のクエリーの結果は同じであるため、1つの結果セットだけが表示されます。
| TEMP_MIN |
|---|
| 10 |
| 10 |
| 43 |
| 43 |
| 70 |
結果: 結果の最小の実際の結果(NESTED_MIN_TABLEにネストされている):
Average(TEMP_MIN) ----------------- 35