sim*_*mon 24 sql t-sql sql-server
我有SQL语句(SQL Server)
SELECT
COUNT(ActionName) AS pageCount
FROM tbl_22_Benchmark
WHERE DATEPART(dw,CreationDate)>1 AND DATEPART(dw,CreationDate)<7
GROUP BY
dateadd(dd,0, datediff(dd,0,CreationDate))
产生输出
pageCount
27
19
59
现在我想用SQL获得所有这些数字的平均值.显然嵌套的聚合函数就像
(AVG(COUNT(PAGECOUNT)))
是不允许的,并使用子查询
SELECT AVG(pageCount) FROM
(
SELECT
COUNT(ActionName) AS pageCount
FROM tbl_22_Benchmark
WHERE DATEPART(dw,CreationDate)>1 AND DATEPART(dw,CreationDate)<7
GROUP BY
dateadd(dd,0, datediff(dd,0,CreationDate))
)
得到我只是一个错误消息')'附近的语法不正确.
如何获得pageCount行的平均值?
Rob*_*Day 37
我无法看到您的整个查询,因为它似乎没有正确发布.
但是,我相信您的问题纯粹是缺少派生表/嵌套子查询的名称.
给它一个别名,例如本例中的MyTable
SELECT
AVG(pageCount)
FROM
(
SELECT
COUNT(ActionName) AS pageCount
FROM
tbl_22_Benchmark
) MyTable
Run Code Online (Sandbox Code Playgroud)
你的子查询应该有一个别名,就像这样
SELECT AVG(pageCount) FROM
(
SELECT
COUNT(ActionName) AS pageCount
FROM tbl_22_Benchmark
WHERE DATEPART(dw,CreationDate)>1 AND DATEPART(dw,CreationDate)<7
GROUP BY
dateadd(dd,0, datediff(dd,0,CreationDate))
) AS t
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44299 次 |
| 最近记录: |