SQL-5

21、给定用户表,求用户的次日留存率(京东)

参考答案
假设usrlogs用户表记录了用户的登陆日期,如下:
图片说明
首先计算用户登陆的日期间隔,并写入临时表date_interval:

SELECT usr_id, A.log_date AS log_d, datediff(A.log_date, B.log_date) AS day_diff
FROM usrlogs A
LEFT JOIN usrlogs B
ON A.usr_id = B.usr_id;

然后根据用户登陆的日期间隔筛选出留存的用户,从而计算出次日留存及次日留存率:

SELECT log_d
, COUNT(DISTINCT CASE WHEN day_diff = 1 THEN usr_id ELSE NULL END) AS '次日

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

数据分析面试宝典 文章被收录于专栏

本面试宝典均来自校招面试题目大数据进行的整理

全部评论

相关推荐

双尔:你就写拥有ai开发经历,熟练运用提示词,优化ai,提高ai回答质量
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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