排名

用户解题统计

过去一年提交了

勋章 ①金银铜:在竞赛中获得第一二三名;②好习惯:自然月10天提交;③里程碑:解决1/2/5/10/20/50/100/200题;④每周打卡挑战:完成每周5题,每年1月1日清零。

收藏

收藏日期 题目名称 解决状态
2025-01-27 被收藏次数最多的商品  未解决
2025-01-26 得物面试真题(4)首单Mac二单iPhone的客户  未解决
2025-01-26 德州扑克起手牌-最强起手牌KK+  未解决
2025-01-26 抖音面试真题(1)T+1日留存率  已解决
2025-01-26 字符串与通配符(2)好多关键词做规则,可以使用rlike  未解决
2025-01-26 滴滴面试真题(1)-打车订单应答率  未解决
2025-01-26 滴滴面试真题(3)UTC转化后的本地时间呼叫高峰期  未解决
2024-12-28 销售金额前10的商品信息  未解决
2024-12-28 查询播放量为0的歌手及其专辑  未解决
2024-12-28 1989年12月13日出生的女歌手  未解决
2024-12-25 Halo出行-通勤活跃用户标签开发  未解决
2024-12-23 海王发红包  未解决
2024-12-11 表连接(1)你们难道都去过?那就试试用InnerJoin  未解决
2024-12-11 分组与聚合函数(6)想知道渣男有多坏,疯狂使用GroupBy  未解决
2024-12-11 招建银行信用卡中心客户挽留-电商平台分类  未解决
2024-10-28 分组与聚合函数(1)Money全都花在哪,GroupBy来查一查  未解决
2024-10-28 条件过滤(3)Hour函数很给力,组合条件要仔细  未解决
2024-10-28 条件过滤(2)半夜活动有猫腻,Hour函数给给力  未解决
2024-10-24 分组与聚合函数(3)五花八门的项目,其实都有固定套路(1)  未解决
2024-10-23 分类(1)姿势太多很过分,分类要用CaseWhen  未解决
2024-10-23 条件过滤(1)异地男友有异常,数分闺蜜来帮忙  未解决
2024-10-21 字符串与通配符(1)名称里面有特服,可以使用通配符  未解决
2024-10-14 窗口函数(3)越来越喜欢召妓,窗口函数用累计(1)  未解决
2024-10-09 小结(2)越花越多是死罪,按月统计Substr  未解决
2024-10-09 表连接(3)一直使用一张表,现在开始两张表  未解决

评论笔记

评论日期 题目名称 评论内容 站长评论
2024-12-25 Halo出行-通勤活跃用户标签开发 
每天有一次符合通勤就算么,还是要往返两次才算?
只要有一次就算

提交记录

提交日期 题目名称 提交代码
2025-01-26 抖音面试真题(1)T+1日留存率 
with data1 as (
    select distinct 
        usr_id,
        date(login_time) as login_date 
    from 
        user_login_log 
    where 
        datediff(current_date, date(login_time)) <= 30
),
data2 as (
    select 
        T.usr_id, 
        T.login_date as T_date, 
        T_1.login_date as T_1_date 
    from 
        data1 as T 
    left join 
        data1 as T_1 
    on 
        T.usr_id = T_1.usr_id 
        and datediff(T.login_date, T_1.login_date) = -1
)
select 
    T_date as first_login_date, 
    concat(round(avg(T_1_date is not null)*100, 2), '%') as T1_retention_rate 
from 
    data2 
group by 
    T_date 
order by 
    T_date;
2025-01-26 抖音面试真题(1)T+1日留存率 
select * from user_login_log limit 5;
2024-12-25 小宇宙电台的同期群分析 
WITH user_first_visit AS (
    SELECT 
        usr_id,
        MIN(DATE(login_time)) as first_visit
    FROM 
        user_login_log
    GROUP BY 
        usr_id
),
user_daily_activity AS (
    SELECT DISTINCT
        DATE(login_time) as login_date,
        usr_id
    FROM 
        user_login_log
),
user_last_visit AS (
    SELECT 
        login_date,
        usr_id,
        LAG(login_date, 1) OVER (PARTITION BY usr_id ORDER BY login_date) as last_visit
    FROM 
        user_daily_activity
),
user_categories AS (
    SELECT 
        u.login_date,
        u.usr_id,
        f.first_visit,
        u.last_visit,
        CASE 
            WHEN f.first_visit = u.login_date THEN '新增用户'
            WHEN DATEDIFF(u.login_date, COALESCE(u.last_visit, f.first_visit)) BETWEEN 1 AND 3 THEN '留存用户'
            ELSE '回流用户'
        END as user_category
    FROM 
        user_last_visit u
    LEFT JOIN 
        user_first_visit f ON u.usr_id = f.usr_id
),
cohort_analysis AS (
    SELECT 
        f.first_visit as cohort_date,
        u.login_date,
        u.usr_id,
        u.user_category
    FROM 
        user_categories u
    INNER JOIN 
        user_first_visit f ON u.usr_id = f.usr_id
),
cohort_summary AS (
    SELECT 
        cohort_date,
        login_date,
        COUNT(CASE WHEN user_category = '新增用户' THEN 1 END) AS 新增用户数,
        COUNT(CASE WHEN user_category = '留存用户' THEN 1 END) AS 留存用户数,
        COUNT(CASE WHEN user_category = '回流用户' THEN 1 END) AS 回流用户数,
        COUNT(*) AS 总用户数
    FROM 
        cohort_analysis
    GROUP BY 
        cohort_date, login_date
)
SELECT 
    login_date,
    CONCAT(
        FORMAT(SUM(新增用户数) * 100.0 / SUM(总用户数), 2), ', ',
        FORMAT(SUM(留存用户数) * 100.0 / SUM(总用户数), 2), ', ',
        FORMAT(SUM(回流用户数) * 100.0 / SUM(总用户数), 2)
    ) AS pct
FROM 
    cohort_summary
where login_date >='2024-01-01'
GROUP BY 
    login_date
ORDER BY 
    login_date;