SELECT user_id FROM ( SELECT user_id ,DATE(log_time) AS log_date ,LEAD(DATE(log_time), 1) OVER(PARTITION BY user_id ORDER BY log_time) AS l1 ,LEAD(DATE(log_time), 2) OVER(PARTITION BY user_id ORDER BY log_time) AS l2 FROM login_tb ) AS t WHERE DATEDIFF(l1,log_date) = 1 AND DATEDIFF(l2,l1) = 1 AND user_id IN ( SELECT user_id FROM register_tb) ORDER BY user_id;
使用lead来解决