私は次のSQLを持っています:(bitemp)
_SELECT COUNT (*) AS Count
FROM Table T
WHERE (T.Update_time =
(SELECT MAX (B.Update_time )
FROM Table B
WHERE (B.Id = T.Id))
GROUP BY T.Grouping
_
今、私は多くの数字で結果セットを取得しています。このリストの平均を取得したい。現時点では、リストをExcelにインポートし、その平均関数を使用しています。しかし、DB2にはAVG関数がありますが、機能しませんでした。
SELECT AVG(COUNT(*))
とSELECT AVG(*) FROM (theQuery)
も試しました。
クエリをサブクエリとして置くことができます:
SELECT avg(count)
FROM
(
SELECT COUNT (*) AS Count
FROM Table T
WHERE T.Update_time =
(SELECT MAX (B.Update_time )
FROM Table B
WHERE (B.Id = T.Id))
GROUP BY T.Grouping
) as counts
編集:これは同じであると思う:
SELECT count(*) / count(distinct T.Grouping)
FROM Table T
WHERE T.Update_time =
(SELECT MAX (B.Update_time)
FROM Table B
WHERE (B.Id = T.Id))