题解 | #灵魂社交APP6月2日的T+1日留存#

灵魂社交APP6月2日的T+1日留存

http://www.nowcoder.com/practice/4fe8b31084094910b53165be26ba3fe4

重点1:date_sub函数的使用,日期做差 重点2:distinct关键字去重 重点3:窗口函数avg计算平均值 重点4:if句法如果判断条件为真/假则统计

SELECT 
    -- 3.计算次日留存用户数的平均数保留两位有效数字
    ROUND(AVG(IF(b.user_id IS NOT NULL, 1, 0)), 2) AS avg_ret
FROM
(
    SELECT 
    -- 1.计算当日去重用户数
        DISTINCT user_id, 
        login_date
    FROM 
        logintb 
    WHERE 
        login_date = '2021-6-2'
)a
LEFT JOIN
(
    -- 2.计算次日去重用户数
    SELECT 
        DISTINCT user_id, 
        DATE_SUB(login_date, INTERVAL 1 day) AS login_date
    FROM 
        logintb
)b
ON a.user_id = b.user_id AND a.login_date=b.login_date;
全部评论

相关推荐

10-30 23:23
已编辑
中山大学 Web前端
去B座二楼砸水泥地:这无论是个人素质还是专业素质都👇拉满了吧
点赞 评论 收藏
分享
牛客963010790号:为什么还要收藏
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务