排名
用户解题统计
过去一年提交了
勋章 ①金银铜:在竞赛中获得第一二三名;②好习惯:自然月10天提交;③里程碑:解决1/2/5/10/20/50/100/200题;④每周打卡挑战:完成每周5题,每年1月1日清零。
收藏
收藏日期 | 题目名称 | 解决状态 |
---|---|---|
没有收藏的题目。 |
评论笔记
评论日期 | 题目名称 | 评论内容 | 站长评论 |
---|---|---|---|
没有评论过的题目。 |
提交记录
提交日期 | 题目名称 | 提交代码 |
---|---|---|
2024-12-26 | Halo出行-通勤活跃用户标签开发  |
WITH MONTH_ACTIVE AS ( SELECT USER_ID, MONTH_TIMESTAMP, ROW_NUMBER() OVER (PARTITION BY USER_ID ORDER BY MONTH_TIMESTAMP) AS RN FROM ( SELECT T1.USER_ID, DATE_FORMAT(T1.START_TIME, '%Y-%m-01') AS MONTH_TIMESTAMP, COUNT(DISTINCT DATE_FORMAT(T1.START_TIME, '%Y-%m-%d')) AS DAY_CNT FROM hello_bike_riding_rcd T1 LEFT JOIN gd_loc_map T2 ON T1.START_LOC = T2.LOC_NM LEFT JOIN gd_loc_map T3 ON T1.START_LOC = T3.LOC_NM WHERE DATE_FORMAT(T1.START_TIME, '%Y-%m-%d') BETWEEN '2020-01-01' AND '2024-12-31' AND T3.LOC_TYPE <> T2.LOC_TYPE AND T2.LOC_TYPE IN ('写字楼', '地铁站') AND T3.LOC_TYPE IN ('写字楼', '地铁站') GROUP BY T1.USER_ID, DATE_FORMAT(T1.START_TIME, '%Y-%m-01') HAVING DAY_CNT >= 5 ) T4 ), ACTIVE_USER AS ( SELECT T1.USER_ID FROM MONTH_ACTIVE T1 LEFT JOIN MONTH_ACTIVE T2 ON T1.USER_ID = T2.USER_ID AND T1.RN + 2 = T2.RN WHERE DATEDIFF(STR_TO_DATE(T2.MONTH_TIMESTAMP, '%Y-%m-%d'), STR_TO_DATE(T1.MONTH_TIMESTAMP, '%Y-%m-%d')) = 2 GROUP BY T1.USER_ID ) SELECT T1.USER_ID AS user_id, CASE WHEN T2.USER_ID IS NULL THEN 0 ELSE 1 END AS active_tag FROM (SELECT USER_ID FROM hello_bike_riding_rcd GROUP BY USER_ID) T1 LEFT JOIN ACTIVE_USER T2 ON T1.USER_ID = T2.USER_ID; |
2024-12-26 | Halo出行-通勤活跃用户标签开发  |
WITH MonthlyActive AS ( SELECT T1.USER_ID, DATE_FORMAT(T1.START_TIME, '%Y-%m-01') AS MONTH_TIMESTAMP, COUNT(DISTINCT DATE_FORMAT(T1.START_TIME, '%Y-%m-%d')) AS DAY_CNT FROM hello_bike_riding_rcd T1 LEFT JOIN gd_loc_map T2 ON T1.START_LOC = T2.LOC_NM LEFT JOIN gd_loc_map T3 ON T1.START_LOC = T3.LOC_NM WHERE DATE_FORMAT(T1.START_TIME, '%Y-%m-%d') BETWEEN '2020-01-01' AND '2024-12-31' AND T3.LOC_TYPE <> T2.LOC_TYPE AND T2.LOC_TYPE IN ('写字楼', '地铁站') AND T3.LOC_TYPE IN ('写字楼', '地铁站') GROUP BY T1.USER_ID, DATE_FORMAT(T1.START_TIME, '%Y-%m-01') HAVING DAY_CNT >= 5 ), ConsecutiveMonths AS ( SELECT user_id, MONTH_TIMESTAMP, LAG(MONTH_TIMESTAMP, 1) OVER (PARTITION BY user_id ORDER BY MONTH_TIMESTAMP) AS prev_month1, LAG(MONTH_TIMESTAMP, 2) OVER (PARTITION BY user_id ORDER BY MONTH_TIMESTAMP) AS prev_month2 FROM MonthlyActive ) SELECT DISTINCT T.user_id , CASE WHEN TT.USER_ID IS NOT NULL THEN 1 ELSE 0 END AS active_tag FROM hello_bike_riding_rcd T LEFT JOIN ( SELECT user_id FROM ConsecutiveMonths WHERE ( (MONTH(MONTH_TIMESTAMP) - MONTH(prev_month1) = 1 AND MONTH(prev_month1) - MONTH(prev_month2) = 1) OR (MONTH(MONTH_TIMESTAMP) - MONTH(prev_month1) = 1 AND prev_month2 IS NULL) OR (prev_month1 IS NULL AND prev_month2 IS NULL) ) GROUP BY user_id ) TT ON T.USER_ID = TT.USER_ID |
2024-12-26 | Halo出行-通勤活跃用户标签开发  |
select distinct user_id ,0 as active_tag from hello_bike_riding_rcd T1 WHERE DATE_FORMAT(T1.START_TIME, '%Y-%m-%d') BETWEEN '2020-01-01' AND '2024-12-31' |
2024-12-26 | Halo出行-通勤活跃用户标签开发  |
select distinct user_id ,0 as active_tag from hello_bike_riding_rcd T1 WHERE DATE_FORMAT(T1.START_TIME, '%Y-%m-%d') BETWEEN '2020-01-01' AND '2024-12-31' limit 5 |