排名

用户解题统计

过去一年提交了

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

收藏

收藏日期 题目名称 解决状态
没有收藏的题目。

评论笔记

评论日期 题目名称 评论内容 站长评论
没有评论过的题目。

提交记录

提交日期 题目名称 提交代码
2026-03-04 抖音面试真题(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;
2026-03-04 抖音面试真题(1)T+1日留存率 
with date1 as (
select usr_id,date(login_time) as date from user_login_log
where datediff(current_date,login_time)<=30
),
date2 as(
select T1.date as last_day ,T2.date as p from date1 T1 left join date1 T2 on T1.usr_id=T2.usr_id and datediff(T1.date,T2.date)=1
) select distinct last_day as login_time,concat(round(avg(p is not null)*100,2),'%') as T1_retention_rate from date2 group by last_day order by 1
2026-03-03 销售金额前10的商品信息 
select goods_id as oods_id,sum(order_gmv) as total_gmv
from order_info where date(order_time)= '2024-09-10' group by goods_id order by 2 desc limit 10;
2026-03-03 表连接(2)渣男去过我对象没去过,那就用LeftJoin 
select a.mch_nm as asshole_tried,a.trx_cnt,b.mch_nm as darling_tried from (
select mch_nm,count(1) trx_cnt
from cmb_usr_trx_rcd 
where year(trx_time) in (2023,2024) and usr_id='5201314520'
group bymch_nm
having count(1)>=20
)a left join(select distinct mch_nm from cmb_usr_trx_rcd where year(trx_time) in (2023,2024) and usr_id='5211314521')b
 on a.mch_nm=b.mch_nm order by 2 desc
2026-03-03 表连接(2)渣男去过我对象没去过,那就用LeftJoin 
with a as 
(
select distinct mch_nm,count(1) as trx_cnt from cmb_usr_trx_rcd where 
usr_id='5201314520' and year(trx_time) between 2023 and 2024
group by mch_nm having trx_cnt>=20
)select distinct a.mch_nm as 
 asshole_tried,a.trx_cnt as trx_cnt,b.mch_nm as darling_tried from a left join cmb_usr_trx_rcd b on a.mch_nm=b.mch_nm 
order by 2 desc
2026-03-03 表连接(2)渣男去过我对象没去过,那就用LeftJoin 
with a as 
(
selectmch_nm,count(1) as trx_cnt from cmb_usr_trx_rcd where 
usr_id='5201314520' and year(trx_time) between 2023 and 2024
group by mch_nm having trx_cnt>=20
)select distinct a.mch_nm as 
 asshole_tried,a.trx_cnt as trx_cnt,b.mch_nm as darling_tried from a left join cmb_usr_trx_rcd b on a.mch_nm=b.mch_nm 
order by 2 desc
2026-03-03 表连接(1)你们难道都去过?那就试试用InnerJoin 
select a.* from 
(select distinct mch_nm
from cmb_usr_trx_rcd
where year(trx_time)=2024 and usr_id='5211314521')a
inner join
(select distinct mch_nm
from cmb_usr_trx_rcd
where year(trx_time)=2024 and usr_id='5201314520')b
on a.mch_nm = b.mch_nm
order by 1 desc
2026-03-03 子查询(1)玩的最嗨那天在做甚?要用Where子查询 
select * from cmb_usr_trx_rcd where usr_id='5201314520' order by trx_amt desc limit 1;
2026-03-03 字符串与通配符(2)好多关键词做规则,可以使用rlike 
select case 
when mch_nm like '%按摩保健休闲%' then '按摩保健休闲'
when lower(mch_nm) rlike '.*(按摩|保健|休闲|spa|养生|会所).*' then '按摩、保健、休闲、养生、SPA、会所'
end as reg_rules,
count(distinct mch_nm) AS mch_cnt
from 
cmb_usr_trx_rcd
where mch_nm like '%按摩保健休闲%' or lower(mch_nm) rlike '.*(按摩|保健|休闲|spa|养生|会所).*'
group by reg_rules
order by mch_cnt desc;
2026-03-03 字符串与通配符(2)好多关键词做规则,可以使用rlike 
select
    case 
        when mch_nm like '%按摩保健休闲%' then '按摩保健休闲'
        when lower(mch_nm) rlike '.*(按摩|保健|休闲|spa|养生|会所).*' then '按摩、保健、休闲、养生、SPA、会所'
    end as reg_rules,
    count(distinct mch_nm) as mch_cnt
from
    cmb_usr_trx_rcd
where mch_nm like '%按摩保健休闲%'
   or lower(mch_nm) rlike '.*(按摩|保健|休闲|spa|养生|会所).*'
group by reg_rules
order by mch_cnt desc;
2026-03-03 字符串与通配符(2)好多关键词做规则,可以使用rlike 
select
case 
when mch_nm like '%按摩保健休闲%' then '按摩保健休闲'
when lower(mch_nm) rlike '.*(按摩|保健|休闲|spa|养生|会所).*' then '按摩、保健、休闲、SPA、会所'
end as reg_rules,
count(distinct mch_nm) as mch_cnt
from cmb_usr_trx_rcd
where mch_nm like '%按摩保健休闲%' or lower(mch_nm) rlike '.*(按摩|保健|休闲|spa|养生|会所).*'
group by reg_rules
order by mch_cnt desc;
2026-03-03 字符串与通配符(1)名称里面有特服,可以使用通配符 
select count(distinct mch_nm) as mch_cnt from cmb_usr_trx_rcd where mch_nm like "%按摩保健休闲%";
2026-03-03 分类(1)姿势太多很过分,分类要用CaseWhen 
select 
 case when
 trx_amt=288 then '1.WithHand'
 when trx_amt=388 then '2.WithMimi'
 when trx_amt=588 then '3.BlowJobbie'
 when trx_amt=888 then '4.Doi'
 when trx_amt=1288 then '5.DoubleFly'
 else '6.other'
 end as ser_typ,
 count(1) as trx_cnt,
 min(date(trx_time)) as first_date
 from cmb_usr_trx_rcd
 where usr_id='5201314520' and mch_nm='红玫瑰按摩保健休闲'
 group by ser_typ
 order by 1;
2026-03-03 分组与聚合函数(6)想知道渣男有多坏,疯狂使用GroupBy 
select 
usr_id,
mch_nm,
sum(trx_amt) as trx_amt,
count(1) as trx_cnt ,
min(trx_time) as first_time
from cmb_usr_trx_rcd
where usr_id='5201314520' and trx_amt>=288 group by usr_id,mch_nm order by 4 desc;
2026-03-03 分组与聚合函数(5)想知道何时成瘾,用Max Or Min? 
select distinct usr_id,min(trx_time) as first_time,mch_nm from cmb_usr_trx_rcd where usr_id='5201314520' and mch_nm='红玫瑰按摩保健休闲';
2026-03-03 分组与聚合函数(5)五花八门的项目,其实都有固定套路(2) 
select
trx_amt,count(1) as total_trx_cnt,
count(distinct usr_id) as unique_usr_cnt,
count(1)/count(distinct usr_id) as avg_trx_per_user
from 
cmb_usr_trx_rcd
where mch_nm='红玫瑰按摩保健休闲'
and
((year(trx_time)=2023 and month(trx_time) between 1 and 12) or(year(trx_time)=2024 and month(trx_time) between 1 and 6))
group by 
trx_amt
order by avg_trx_per_user desc
limit 5;
2026-03-03 分组与聚合函数(5)五花八门的项目,其实都有固定套路(2) 
select
trx_amt,count(1) as total_trx_cnt,
count(distinct usr_id) as unique_usr_cnt,
count(1)/count(distinct usr_id) as avg_trx_per_user
from 
cmb_usr_trx_rcd
where mch_nm='红玫瑰按摩保健休闲'
and
(year(trx_time)=2023 and month(trx_time) between 1 and 12) or(year(trx_time)=2024 and month(trx_time) between 1 and 6)
group by 
trx_amt
order by avg_trx_per_user desc
limit 5;
2026-03-02 分组与聚合函数(3)五花八门的项目,其实都有固定套路(1) 
select
trx_amt,count(1) as trx_cnt
from cmb_usr_trx_rcd 
where mch_nm='红玫瑰按摩保健休闲' and year(trx_time)=2024
and month(trx_time) in (1,2,3,4,5,6,7)
group by trx_amt
order by trx_cnt desc
limit 5;
2026-03-02 分组与聚合函数(2)擦边营收怎么样,聚合函数可看出 
select
date(trx_time) as trx_date,
max(trx_amt) as max_trx_amt,
min(trx_amt) as min_trx_amt,
avg(trx_amt) as avg_trx_amt,
sum(trx_amt) as total_trx_amt
from
cmb_usr_trx_rcd
where 
mch_nm='红玫瑰按摩保健休闲'
and date(trx_time) between '2024-09-01' and '2024-09-30'
group by
date(trx_time)
order by
trx_date;
2026-03-02 分组与聚合函数(1)Money全都花在哪,GroupBy来查一查 
select mch_nm,sum(trx_amt) as sum_trx_amt from cmb_usr_trx_rcdwhere usr_id='5201314520' and year(trx_time)='2024' group by mch_nm order by sum_trx_amt desc;