2014-04-21 2 views
0

1 시간 동안 발생하는 이벤트가있는 테이블이 있습니다.데이터를 5 초 간격으로 그룹화 할 쿼리

2014-04-16 13:56:06.971 , 3474 
2014-04-16 13:56:07.061 , 3609 
2014-04-16 13:56:07.067 , 3617 

표는 타임 스탬프 및 이벤트 ID가

나는 5 개 초 간격으로 발생한 이벤트의 수를 가지고 데이터 그룹에 노력하고, 그래서 다음과 같습니다

0-5 sec., 3 
5-10 sec. , 6 
10-15 sec. , 4 

미리 감사드립니다. 나는 당신이 그 같은 쿼리를 사용하여 SQL 서버 2008

답변

0

을 사용하고 :

declare @Hour datetime = '2014-04-16 13:00:00' -- starting time 

select 
    CONVERT(VARCHAR(10), (DATEDIFF(second, @Hour, EventDateTime)/5) * 5) 
    + '-' + CONVERT(VARCHAR(10), (DATEDIFF(second, @Hour, EventDateTime)/5 + 1) * 5) + ' sec', 
    COUNT(EventId) 
from intervals 
group by DATEDIFF(second, @Hour, EventDateTime)/5 
0

어떻게 이런 일에 대한 어디에 초에 의해 그룹화/12

select 
    convert(varchar(5),[time stamp],108) as [hh:mm], 
    cast(min(datepart(s, [time stamp])) as varchar(10)) + ' - ' + cast(max(datepart(s, [time stamp])) as varchar(10)) as [second interval], 
    count(*) as total 
from yourtable 
group by convert(varchar(5),[time stamp],108), (datepart(s, [time stamp])/12) 

하거나 수 시작/종료 초를 사용하여 집계 테이블을 만든 다음 가입하십시오.

관련 문제