- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
考虑一个保存日志数据的 SQL Server 表。重要的部分是:
CREATE TABLE [dbo].[CustomerLog](
[ID] [int] IDENTITY(1,1) NOT NULL,
[CustID] [int] NOT NULL,
[VisitDate] [datetime] NOT NULL,
CONSTRAINT [PK_CustomerLog] PRIMARY KEY CLUSTERED ([ID] ASC)) ON [PRIMARY]
这里的查询是关于查找当天按小时的访问分布情况。我们感兴趣的是查看给定日期范围内小时的平均访问次数的分布。
查询结果会是这样的:
HourOfDay Avg.Visits.In.Hour0 241 165 326 897 823etc.etc.
The intention is to write a query like this:
SELECT DATEPART(hh, VisitDate)
,AVG(COUNT(*))
FROM CustomerLog
WHERE VisitDate BETWEEN 'Jan 1 2009' AND 'Aug 1 2009'
GROUP BY DATEPART(hh, VisitDate)
但是,这不是有效的查询:
Cannot perform an aggregate function on an expression containing an aggregate or a subquery.
问题:您将如何重写此查询来收集平均总数(即代替该小时的 AVG(COUNT(*))
?
想象一下这个查询的结果将被传递给 PHB谁想知道一天中最繁忙的时间。
最佳答案
使用内联 View :
SELECT DATEPART(hh, x.visitdate),
AVG(x.num)
FROM (SELECT t.visitdate,
COUNT(*) 'num'
FROM CUSTOMERLOG t
WHERE t.visitdate BETWEEN 'Jan 1 2009' AND 'Aug 1 2009'
GROUP BY t.visitdate) x
GROUP BY DATEPART(hh, x.visitdate)
使用 CTE(SQL Server 2005+)等效项:
WITH visits AS (
SELECT t.visitdate,
COUNT(*) 'num'
FROM CUSTOMERLOG t
WHERE t.visitdate BETWEEN 'Jan 1 2009' AND 'Aug 1 2009'
GROUP BY t.visitdate)
SELECT DATEPART(hh, x.visitdate),
AVG(x.num)
FROM visits x
GROUP BY DATEPART(hh, x.visitdate)
关于sql - TSQL:无法对 COUNT(*) 执行聚合函数 AVG 来查找一天中最繁忙的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1731093/
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以使为on-topic。 6
我们正在使用 PHP 和 Mysql 开发一个基于 Web 的应用程序。如您所知,使用 Web 界面备份大型数据库存在限制,因此我需要一个解决方案来通过以下条件备份我们的大型数据库: 该过程可以在没有
有什么方法可以检测主线程何时被锁定/忙碌(也就是不会响应触摸事件)? 可能的方向检查 dispatch_get_main_queue 的大小(但我不知道如何操作这个对象来查看它的大小) [[UIApp
我已在 Windows 7 64 位上安装了 WAMP。当我尝试启动它时,它说端口 80 被“服务器:Microsoft HTTPAPI/2.0”使用。 我检查了一下,没有安装IIS。我该怎么办? 最
我们有一个 mongoosejs 客户端,它查询大型 mongodb 集合(大约 1000 万条记录)并通过管道传输到转换流。当我们运行此代码时, Node 进程占用 100% CPU 并且变得繁忙,
我是一名优秀的程序员,十分优秀!