select user_id,count(1) as day_count from ( select distinct sales_date,user_id,dense_rank()over(partition by user_id order by sales_date)rk from sales_tb )t1 group by user_id,date_sub(sales_date,interval rk day) having count(1)>=2
使用denserank获取日期排序,把日期和排序结果相减作为评价是否连续天数的标准,然后分组统计数目