select user_id from (select user_id,date(log_time) log_time, date_sub(date(log_time),interval row_number()over(partition by user_id order by log_time) day) log_gap from login_tb where user_id in (select user_id from register_tb) ) t1 group by user_id, log_gap having count(log_gap) >=3 order by user_id; 其实没必要把log_gap统计出来再取值,直接筛选掉就好了。 *date函数还挺关键的,不然log_gap出来就是带时间的,很难一致并统计了

京公网安备 11010502036488号