with temp as (
select
user,
log_time,
LAG(log_time) OVER (PARTITION BY user ORDER BY log_time) as prev_log_time
from logins)
select user, date_diff(log_time , prev_log_time) as days_diff from temp
SELECT user_id
FROM (
SELECT user_id,
YEARWEEK(datetime, 1) AS year_week,
COUNT(DISTINCT YEARWEEK(datetime, 1)) AS weeks_count
FROM your_table
GROUP BY user_id, YEARWEEK(datetime, 1)
) AS user_weeks
GROUP BY user_id
HAVING COUNT(DISTINCT year_week) = (
SELECT COUNT(DISTINCT YEARWEEK(datetime, 1))
FROM your_table
);