如何根据时间获取点击次数?
问题描述:
我正在研究一个sql视图,该视图应该可以获取每天小时的平均点击次数,而不管流量监视的日期和时间是多少(12:00:00.000 - 12:59:59.999)。有任何想法吗?如何根据时间获取点击次数?
编辑
现在我有总,我怎么平均? SELECT AVG( “功能下”)不起作用
SELECT COUNT(*) AS total, DATEPART(hh, LogDate) AS HourOfDay
FROM dbo.Log
GROUP BY DATEPART(hh, LogDate)
答
转换为DATEPART(HH,.....
例SELECT DATEPART(hh,GETDATE())
既然你是SQL Server 2008上,您可以使用时间数据类型,只是转换时间
例如
SELECT CONVERT(TIME,GETDATE())
然后你可以过滤也
因为我不知道你的输出应该是什么样子,我告诉你们两个,但如果你需要的是按小时分组,那么就做一个datepart(hh....
。
答
下面的查询对您来说可能够用了。它将计数除以LogDate列中的当前日期和最小日期之间的差值。
SELECT DATEPART(hh,LogDate) as Hour
,CAST(COUNT(*)as decimal)/DATEDIFF(d,(SELECT MIN(LogDate) from log)
,CURRENT_TIMESTAMP) as AverageHits
, COUNT(*) as Count
FROM log
GROUP BY DATEPART(hh,LogDate)
ORDER by DATEPART(hh,LogDate) asc
您能否提供带有示例数据的模式? – garnertb 2011-05-11 19:00:13
为什么你为''''和'sql-server [-2008]'添加了这个标签? – 2011-05-11 19:04:21
@Martin - 道歉... – MrM 2011-05-11 19:16:36