题解 | #牛客每个人最近的登录日期(四)#

牛客每个人最近的登录日期(四)

https://www.nowcoder.com/practice/e524dc7450234395aa21c75303a42b0a

select date,
      sum(if(rn=1,1,0)) as new
from(
    select user_id,
           date,
           row_number()over(partition by user_id order by date) as rn
    from login
)a 
group by date
order by date

思路:由题意可知,只有首次登陆的用户才是新用户,所以我们可以根据排序的窗口函数根据用户ID进行分区,日期进行排序,为每行数据进行排序,只有排序序号为1的才是要统计的新用户,

所以最后根据序号进行识别新用户,利用sum(if)计算新用户的个数

全部评论

相关推荐

迟缓的马里奥求你们别...:我双2,FPGA方向,在成都找工作投了上百家,收到面试的不超过10家,是成都这个地方太有说法了。西南柬埔寨
秋招,不懂就问
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务