# 一个用户在一天可能会有多个购买记录,需要去重
with t1 as (
    select DISTINCT user_id, sales_date
    from sales_tb
),
t2 as (
    select user_id, sales_date,
    (case when LAG(sales_date, 1, 1) over(partition by user_id order by sales_date) = 1 then 1 else timestampdiff(day, LAG(sales_date) over(partition by user_id order by sales_date), sales_date) end) as grp
    from t1
)
select user_id, count(sales_date) as days_count
from t2
where grp = 1
group by user_id
having days_count >= 2;