/* 思路:连续登录问题: 1.统计连续2天及以上 2.在该店铺购物的用户 3.及其对应的次数 4.若有多个用户,按user_id升序排序 */ 题解: select user_id, count(1) as days_count from ( select user_id, sales_date, dense_rank() over (partition by user_id order by sales_date) as dn from ( select user_id, sales_date from sales_tb group by user_id, sales_date ) a ) aa group by user_id, (sales_date - dn) having days_count >= 2 order by user_id