SQL269热题难!

查询每个日期新用户的次日留存率,1个表是新用户第一次登录min(date),第2个表是同一个用户在第二天登录

代码如下:

select l.date, ifnull(round(count(distinct l2.user_id)/count(l1.user_id),3),0)p from login l left join login l1 on l1.id = l.id

and (l1.user_id, l1.date) in

(

    select user_id, min(date)over(partition by user_id) from login

)

left join login l2 on l1.user_id = l2.user_id and l1.date = l2.date - 1

group by l.date

order by l.date ASC

#笔试#
全部评论

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-21 13:38
8月实习会变多吗现在还没找到实习该怎么办...回复的hr好少
码农索隆:3-4月就要开始找,基本上6月份就发offer,7月初已经开始暑期实习了。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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