не видя ваших данных, я собираюсь догадаться, что вам, вероятно, придется составлять сводки за каждый день, а затем присоединять их к каждому периоду времени.
Итак, не зная ваших данных или чего-либо, вот пример:
;with dayavg as
(
select day, count(*) as NumberRedemptionsDay
from dbo.Redepmtions
group by day
),
houravg as
(
select day, hour, count(*) as NumberRedeptionsHour
from dbo.Redemptions
group by day, hour
)
select
houravg.hour,
houravg.NumberRedeptionsHour,
(houravg.NumberRedeptionsHour/NumberRedemptionsDay)*100 as Perc
from houravg
inner join dayavg
on houravg.day=dayavg.day