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

标签 sql count db2 resultset average

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

关于sql - 试图获得计数结果集的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7737869/

相关文章:

sql - 我应该如何将表名传递到存储过程中?

perl - 在 perl 中打开 Excel 文件并打印行数

java - 在java中读取XML数据库列

php - DB2 PHP 连接

sql - 无法绑定(bind)多部分标识符?

sql - Phonegap SQLite插件与内置功能?

SQL返回表的前两列

SQL 如何使用 Count 和 Group By WXY 和 Z

asp.net-mvc - 从 linq-to-sql 中的 Iqueryable<T> 获取计数?

unix - 在UNIX中找不到db2命令