Вы можете рассчитать количество минут с полуночи, например:
datepart(hh,datecolumn)*60 + datepart(mi,datecolumn)
Если вы разделите это на 20, вы получите номер 20-минутного интервала. Например, 00:10
будет попадать в интервал 0
, 00:30
- в интервал 1
, 15:30
- в интервал 46
и т. Д. С помощью этой формулы вы можете группировать по 20-минутным интервалам, например:
select
(datepart(hh,datecolumn)*60 + datepart(mi,datecolumn)) / 20 as IntervalNr
, avg(value)
from YourTable
group by (datepart(hh,datecolumn)*60 + datepart(mi,datecolumn)) / 20
Вы можете сделать математику внутри вызова avg
, например:
avg(col1 * col2 - col3 / col4)