i need this table look please TABLE2
Table1
VisitingCount Date1-------------------15:09
3-------------------15:10
7-------------------15:15
1-------------------15:39
2-------------------15:40
3-------------------15:47
How can i change this table below table
Table2
VisitingCount Date11-------------------15:00-15:30
6-------------------15:30-16:00
so, i writed some sql user-defined functions look below please:
create FUNCTION [dbo].[fn_GetActivityLogsArranger]
(
@time AS nvarchar(max)
)
RETURNS nvarchar(max)
AS
BEGIN
declare @Return varchar(30)
select @Return = case
when @time between '00:00' and '00:30' then '00:00-00:30'
when @time between '00:30' and '01:00' then '00:30-01:00'
when @time between '01:00' and '01:30' then '01:00-01:30'
when @time between '01:30' and '02:00' then '01:30-02:00'
when @time between '02:00' and '02:30' then '02:00-02:30'
when @time between '02:30' and '03:00' then '02:30-03:00'
when @time between '03:00' and '03:30' then '03:00-03:30'
when @time between '03:30' and '04:00' then '03:30-04:00'
when @time between '04:00' and '04:30' then '04:00-04:30'
when @time between '04:30' and '05:00' then '04:30-05:00'
when @time between '05:00' and '05:30' then '05:00-05:30'
when @time between '05:30' and '06:00' then '05:30-06:00'
when @time between '06:00' and '06:30' then '06:00-06:30'
when @time between '06:30' and '07:00' then '06:30-07:00'
when @time between '07:00' and '07:30' then '07:00-07:30'
when @time between '07:30' and '08:00' then '07:30-08:00'
when @time between '08:00' and '08:30' then '08:00-08:30'
when @time between '08:30' and '09:00' then '08:30-09:00'
when @time between '09:00' and '09:30' then '09:00-09:30'
when @time between '09:30' and '10:00' then '09:30-10:00'
when @time between '10:00' and '10:30' then '10:00-10:30'
when @time between '10:30' and '11:00' then '10:30-11:00'
when @time between '11:00' and '11:30' then '11:00-11:30'
when @time between '11:30' and '12:00' then '11:30-12:00'
when @time between '12:00' and '12:30' then '12:00-12:30'
when @time between '12:30' and '13:00' then '12:30-13:00'
when @time between '13:00' and '13:30' then '13:00-13:30'
when @time between '13:30' and '14:00' then '13:30-14:00'
when @time between '14:00' and '14:30' then '14:00-14:30'
when @time between '14:30' and '15:00' then '14:30-15:00'
when @time between '15:00' and '15:30' then '15:00-15:30'
when @time between '15:30' and '16:00' then '15:30-16:00'
when @time between '16:00' and '16:30' then '16:00-16:30'
when @time between '16:00' and '16:30' then '16:00-16:30'
when @time between '16:30' and '17:00' then '16:30-17:00'
when @time between '17:00' and '17:30' then '17:00-17:30'
when @time between '17:30' and '18:00' then '17:30-18:00'
when @time between '18:00' and '18:30' then '18:00-18:30'
when @time between '18:30' and '19:00' then '18:30-19:00'
when @time between '19:00' and '19:30' then '19:00-19:30'
when @time between '19:30' and '20:00' then '19:30-20:00'
when @time between '20:00' and '20:30' then '20:00-20:30'
when @time between '20:30' and '21:00' then '20:30-21:00'
when @time between '21:00' and '21:30' then '21:00-21:30'
when @time between '21:30' and '22:00' then '21:30-22:00'
when @time between '22:00' and '22:30' then '22:00-22:30'
when @time between '22:30' and '23:00' then '22:30-23:00'
when @time between '23:00' and '23:30' then '23:00-23:30'
when @time between '23:30' and '24:00' then '23:30-:24:00'
else 'Unknown'
end
Return @Return
end
So, i called this UDF in my sql query. So Result is correct.
select Count(Page) as VisitingCount,[Time]
from
( SELECT Page,Date,[user],
dbo.fn_GetActivityLogsArranger(CONVERT(VARCHAR(5),Date, 108)) as [Time]
FROM scr_SecuristLog
) scr_SecuristLog
where
Date between '2009-05-06' and '2009-05-07'
and
[user] in
( select USERNAME
from scr_CustomerAuthorities
where customerID=Convert(varchar,4)
and ID=Convert(varchar,43)
)
group by [Time] order by [Time] asc
dbo.fn_GetActivityLogsArranger(CONVERT(VARCHAR(5),Date, 108))... function method is not effective method. Because; writing too many "when-then" comparission is not sufficient way to take data. Is there any method like: "Math.Round()" in sql not C#.
For Example:
Run(11:28) result: 11:00 but Run(11:31) Result: 12:00