Given a table schema like:
create table customer_view_log
(
customer_id int not null ,
dt_viewed datetime not null ,
video_id int not null ,
constraint customer_view_log_PK primary key nonclustered ( customer_id , dt_viewed ) ,
constraint customer_view_log_AK01 unique nonclustered ( dt_viewed , customer_id ) ,
constraint customer_view_log_FK01 foreign key ( customer_id ) references customer ( id ) ,
constraint customer_view_log_FK01 foreign key ( video_id ) references video ( id ) ,
)
A query like this
select top 1
Hour = datepart(hour,dt_viewed) ,
Viewings = count(*)
from customer_view_log
group by datepart(hour,dt_viewed)
order by 2 desc
should do the trick. The above is SQL Server: your implementation might vary as to the details. Date/Time related stuff varies widely across implementations.