Xav*_*jer 25 sql db2 average resultset count
我有以下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).
Dav*_*dEG 55
您可以将查询作为子查询:
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))