在SQL Server中获取子查询值或其他聚合函数的平均值

前端之家收集整理的这篇文章主要介绍了在SQL Server中获取子查询值或其他聚合函数的平均值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有sql语句(sql Server)
  1.  
  2. SELECT
  3. COUNT(ActionName) AS pageCount
  4. FROM tbl_22_Benchmark
  5. WHERE DATEPART(dw,CreationDate)>1 AND DATEPART(dw,CreationDate)<7
  6. GROUP BY
  7. dateadd(dd,datediff(dd,CreationDate))

产生输出

pageCount
27
19
59

现在我想使用sql获得所有这些数据的平均值。显然嵌套的聚合函数就像

(AVG(COUNT(pageCount)))

不允许,并使用子查询

  1.  
  2. SELECT AVG(pageCount) FROM
  3. (
  4. SELECT
  5. COUNT(ActionName) AS pageCount
  6. FROM tbl_22_Benchmark
  7. WHERE DATEPART(dw,CreationDate))
  8. )

给我一个错误信息””’附近的错误的语法。

如何获取pageCount行的平均值?

解决方法

我看不到您的整个查询,因为它似乎没有发布正确。

但是,我相信您的问题纯粹是您的派生表/嵌套子查询缺少一个名称

给它一个别名,如MyTable在这个例子

  1. SELECT
  2. AVG(pageCount)
  3. FROM
  4. (
  5. SELECT
  6. COUNT(ActionName) AS pageCount
  7. FROM
  8. tbl_22_Benchmark
  9. ) MyTable

猜你在找的MsSQL相关文章