I have fished this from the net and I'm trying to manipulate it but it's complicated.Although I can use it, it still is complicated, so an easier version would be preferred.
So on 15 minutes, it goes like this:
select OrderH_intID, OrderH_dtmInitiated, -- this is the time I have
dateadd(minute,
(datepart(minute, OrderH_dtmInitiated) / 15) * 15,
dateadd(hour,
datepart(hour, OrderH_dtmInitiated),
convert(datetime, convert(varchar, OrderH_dtmInitiated, 1))))
--,sum(StaffingRequirement), sum(ActiveStaff) ---etc
from tblorderhistory
where OrderH_dtmInitiated > '20180226 14:19:00'
group by OrderH_intID,OrderH_dtmInitiated,
dateadd(minute,
(datepart(minute, OrderH_dtmInitiated) / 15) * 15,
dateadd(hour,
datepart(hour, OrderH_dtmInitiated),
convert(datetime, convert(varchar, OrderH_dtmInitiated, 1))))