«0» - VisitingCount --- числовое значение Datepart, например: 00: 00--1, 00: 30--2, 01: 00--2, 01: 30--3
CREATE TABLE #Temp (VisitingCount int, [Time] int )
DECLARE @DateNow DATETIME,@i int,@Time int
set @DateNow='00:00'
set @i=1;
while(@i<48)
begin
set @DateNow = DATEADD(minute, 30, @DateNow)
set @Time = (datepart(hour,@DateNow)*60+datepart(minute,@DateNow))/30
insert into #Temp(VisitingCount,[Time]) values(0,@Time )
set @i=@i+1
end
select Sum(VisitingCount), [Time]
from #Temp group by [Time]
Union All
select count(page) as VisitingCount,
(datepart(hour,Date)*60+datepart(minute,Date))/30 as [Time]
from scr_SecuristLog
where Date between '2009-05-04 10:30' and '2009-05-04 12:30'
GROUP BY (datepart(hour,Date)*60+datepart(minute,Date))/30--scr_SecuristLog.Date
Мой запрос возвращается ниже таблицы
0 1<br>
0 2<br>
..(removed repeating)..<br>
0 45<br>
0 46<br>
0 47<br>
825 23<br>
526 21<br>
1064 24<br>
885 22<br>
Это стол моей мечты. мне это нужно:
0 1<br>
0 2<br>
..(removed repeating)..<br>
0 19<br>
0 20<br>
526 21<br>
885 22<br>
825 23<br>
1064 24<br>
0 25<br>
0 26<br>
..(removed repeating)..<br>
0 46<br>
0 47<br>