So finally I wrote query to show me how they login in 3 time slices, but we may cut the time on more if necessary:
DECLARE @dtz AS VARCHAR(30);
SET @dtz = '1969-12-31 18:00:00';
WITH Logins_CTE (
yy,
mm,
dd,
hh,
ur
)
AS (
SELECT year(dateadd(ss, login_time, @dtz)) AS yy,
month(dateadd(ss, login_time, @dtz)) AS mm,
day(dateadd(ss, login_time, @dtz)) AS dd,
CASE
WHEN (datepart(hour, dateadd(ss, login_time, @dtz)) < 7)
THEN 1
WHEN (
datepart(hour, dateadd(ss, login_time, @dtz)) > 6
AND datepart(hour, dateadd(ss, login_time, @dtz)) < 18
)
THEN 2
WHEN (datepart(hour, dateadd(ss, login_time, @dtz)) > 17)
THEN 3
ELSE 4
END AS hh,
userid AS ur
FROM login_log WITH (NOLOCK)
WHERE login_time BETWEEN datediff(ss, '1970-01-01', '2015-11-15')
AND datediff(ss, '1970-01-01', '2015-12-20')
GROUP BY userid, login_time
)
SELECT yy,
mm,
dd,
hh,
count(DISTINCT ur) AS cc
FROM Logins_CTE
GROUP BY yy,
mm,
dd,
hh
ORDER BY cc DESC