
CREATE TABLE #TEMPTABLE
(
requestTime datetime2,
NoOfSessions integer
)
INSERT INTO #TEMPTABLE
select convert(nvarchar(16), TimeLog, 120) requestTime , COUNT(DISTINCT SessionId)As NoOfSessions
from LogData
group by convert(nvarchar(16), TimeLog, 120) order by requestTime;
select s1.requestTime
, (
select sum(NoOfSessions)
from #TEMPTABLE s2
where dateadd(minute, -15, s1.requestTime) < s2.requestTime
and s2.requestTime <= s1.requestTime
) as TotalNumberOfSessions
from #TEMPTABLE s1
DROP TABLE #TEMPTABLE
Try this and let me know. It might be some improvement for you.
I added a primary key on
requestTimein the temp table that can be used in the correlated sub query.