题解 | #某宝店铺连续2天及以上购物的用户及其对应的天数#

某宝店铺连续2天及以上购物的用户及其对应的天数

https://www.nowcoder.com/practice/63ac3be0e4b44cce8dd2619d2236c3bf

select user_id,count(temp_date) as days_count

from (
    select user_id,
            row_number()over(partition by user_id order by sales_date asc) as rn,
            date_sub(sales_date,interval row_number()over(partition by user_id order by sales_date asc) day) as temp_date
    from sales_tb
    ) t1
group by user_id,temp_date
having days_count>=2

先对整个日期列进行排序,然后 日期列-排序列=辅助日期列 ,如果用户连续登录的话,辅助日期列为相同的一个值,最后在count一下看每个用户相同的辅助日期有多少个,就是连续登录了几天

全部评论

相关推荐

评论
1
收藏
分享
牛客网
牛客企业服务