テストするオラクルステーションはありませんが、SELECT
の周りにアグリゲーターをラップするだけでよいはずです。 サブクエリ/派生テーブル/インラインビューとして
したがって、(テストされていません!!)
SELECT
AVG(s.c)
, MIN(s.c)
, MAX(s.c)
, s.ID
FROM
--Note this is just your query
(select id, to_char(time), count(*) as c from vehicle_location group by id, to_char(time), min having id = 16) as s
GROUP BY s.ID
http://www.devshed.com/c/a/Oracle/Inserting-SubQueries-in-SELECT-Statements-in-Oracle/3/
編集: 通常は悪いですが 両方を選択するアイデア MIN
およびMAX
単一のクエリで。
編集2: 最小/最大の問題は、一部のRDBMS(oracleを含む)がインデックス付き列の集計を処理する方法に関連しています。この特定のクエリには影響しないかもしれませんが、インデックスを使用してMIN
を見つけるのは簡単であることが前提です。 または MAX
ただし、インデックスが効果的に使用されない可能性があるため、両方を同時に使用することはできません。
ここにいくつかの読み物があります:
http://momendba.blogspot.com/2008/07/min-and-max-functions-in-single-query.html