试图获得计数结果集的平均值

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (11)

我有以下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))

扫码关注云+社区