Как узнать количество показов по времени независимо от даты? - PullRequest
2 голосов
/ 11 мая 2011

Я работаю над представлением sql, которое должно получать среднее количество обращений по часам дня, независимо от того, какой день / дата используется для мониторинга трафика (12: 00: 00.000 - 12: 59: 59.999). Есть идеи?

EDIT

Теперь у меня есть итог, как мне получить среднее значение? ВЫБРАТЬ AVG («ФУНКЦИЯ НИЖЕ») НЕ РАБОТАЕТ

SELECT     COUNT(*) AS total, DATEPART(hh, LogDate) AS HourOfDay
FROM         dbo.Log
GROUP BY DATEPART(hh, LogDate)

Ответы [ 2 ]

3 голосов
/ 11 мая 2011

Преобразовать в DATEPART (чч, .....

Пример SELECT DATEPART(hh,GETDATE())

Поскольку вы работаете в SQL Server 2008, вы можете использовать тип данных времени, просто преобразовать во время

пример

SELECT CONVERT(TIME,GETDATE())

Затем вы можете отфильтровать это также

Поскольку я не уверен, каким должен быть ваш вывод, я показываю вам оба, но если всевам нужно сгруппировать по часам, а затем просто сделать datepart(hh.....

1 голос
/ 11 мая 2011

Запрос ниже может быть достаточно для вас. Он делит счет на разницу между текущей датой и минимальной датой в столбце 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...