我想將時間段從'1小時'改爲'10分鐘'。sql group by time period 10分鐘
,改變從 '10' 至'10顯示時間:00'
declare @periodStart datetime
declare @periodEnd datetime
set @periodStart = CONVERT(varchar(10), GETDATE() - 1, 120)
set @periodEnd = CONVERT(varchar(10), GETDATE() , 120)
set @periodStart = dateadd(HH, datepart(HH,@periodStart), convert(varchar(12),@periodStart,112))
set @periodEnd = dateadd(HH, datepart(HH,@periodEnd), convert(varchar(12),@periodEnd,112))
;with dh
as
(
select top 144
DATEADD(HOUR,ROW_NUMBER() OVER (ORDER BY [Object_id])-1,convert(varchar(12),@periodStart,112)) as HoDstart,
DATEADD(HOUR,ROW_NUMBER() OVER (ORDER BY [Object_id]),convert(varchar(12),@periodStart,112)) as HoDend,
ROW_NUMBER() OVER (ORDER BY Object_id)-1 as DayHour
from sys.columns
)
select d.DayHour, count(f.Hostname) as 'Counter'
from dh d
left join FileBackup f
on f.StartTime < d.HoDend
and f.EndTime >= d.HoDstart
where d.HoDstart between @periodStart and @periodEnd
group by d.DayHour
order by d.DayHour
請[ 「*點擊勾選*」](https://ibb.co/ ikqyO6)接受一個答案,要麼是因爲你確實解決了你的問題,要麼是找到你的解決方案最有用(nb:你可以再次點擊撤銷)。接受答案表明問題已經解決,並且在尋找解決方案或尋找解決問題時節省時間。 –