排名

用户解题统计

过去一年提交了

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

收藏

评论笔记

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

提交记录

提交日期 题目名称 提交代码
2025-03-14 S1年级物理成绩前10名(1) 
with t1 as(
	select s1.student_id,name,score,subject,
row_number()over(partition by subject order by score desc)as rn
from students as s1
left join scores as s2 on s1.student_id=s2.student_id
where score is not null
)
select student_id,name,score,rn as rnk
from t1
where subject='物理'and rn<=10
order by rnk
2025-03-14 抖音面试真题(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 as t_usr_id,t.login_date,t1.usr_id as t1_usr_id
from data1 as t
	left join data1 as t1 
	on t.usr_id=t1.usr_id
	and datediff(t.login_date,t1.login_date)=-1
)
select login_date,
concat(round(100*count( t1_usr_id)/count( t_usr_id),2),'%') as T1_retention_rate
from data2
group by login_date
order by login_date
2025-03-14 抖音面试真题(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 as t_usr_id,t.login_date,t1.usr_id as t1_usr_id
from data1 as t
	left join data1 as t1 
	on t.usr_id=t1.usr_id
	and datediff(t.login_date,t1.login_date)=-1
)
select login_date,
concat(100*round(count(t1_usr_id)/count(t_usr_id),2),'%') as T1_retention_rate
from data2
group by login_date
order by login_date
2025-03-14 抖音面试真题(1)T+1日留存率 
select 
a.login_date,
concat(round(100 * count(distinct b.usr_id) / count(distinct a.usr_id), 2), '%') as t1_retention_rate
from (
select distinct 
date(login_time) as login_date,
usr_id
from user_login_log
where login_time >= date_sub(current_date, interval 30 day)
) as a
left join user_login_log as b 
on a.usr_id = b.usr_id 
and datediff(date(b.login_time), a.login_date) = 1
and b.login_time >= date_sub(current_date, interval 30 day)
group by a.login_date
order by a.login_date;
2025-03-14 抖音面试真题(1)T+1日留存率 
with data1 as (
	select 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 as t_usr_id,t.login_date,t1.usr_id as t1_usr_id
from data1 as t
	left join data1 as t1 
	on t.usr_id=t1.usr_id
	and datediff(t.login_date,t1.login_date)=-1
)
select login_date,
concat(100*round(count(t1_usr_id)/count(t_usr_id),2),'%') as T1_retention_rate
from data2
group by login_date
order by login_date
2025-03-14 抖音面试真题(1)T+1日留存率 
with data1 as (
	select 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,t1.usr_id as t1_usr_id
from data1 as t
	join data1 as t1 
	on t.usr_id=t1.usr_id
	and datediff(t.login_date,t1.login_date)=-1
)
select login_date,
concat(100*round(count(t1_usr_id)/count(usr_id),2),'%') as T1_retention_rate
from data2
group by login_date
order by login_date
2025-03-13 抖音面试真题(1)T+1日留存率 
select 
login_date,
concat(round(100 * count(distinct usr_id_1) / count(distinct usr_id), 2), '%') as t1_retention_rate
from (
select 
a.login_date,
a.usr_id as usr_id,
b.usr_id as usr_id_1
from (
select distinct 
date(login_time) as login_date,
usr_id
from user_login_log
where login_time >= date_sub(current_date, interval 30 day)
) as a
left join (
select distinct 
date(login_time) as login_date,
usr_id
from user_login_log
where login_time >= date_sub(current_date, interval 30 day)
) as b on a.usr_id = b.usr_id and datediff(b.login_date, a.login_date) = 1
) as t
group by login_date
order by login_date;
2025-03-13 销售金额前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 total_gmv desc
limit 10
2025-03-13 表连接(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 by mch_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
2025-03-13 表连接(2)渣男去过我对象没去过,那就用LeftJoin 
select a.* from (
select
mch_nm as asshole_tried,
count(trx_time) as trx_cnt
from cmb_usr_trx_rcd
where year(trx_time) between 2023 and 2024
and usr_id=5201314520
group by mch_nm
having count(trx_time)>=20
) as a
left join (
 select
 distinct mch_nm as darling_tried
 from cmb_usr_trx_rcd
 where year(trx_time) between 2023 and 2024
 and usr_id=5211314521
)as b
on a.asshole_tried=b.darling_tried
order by trx_cnt desc
2025-03-13 表连接(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
2025-03-13 子查询(1)玩的最嗨那天在做甚?要用Where子查询 
select * from cmb_usr_trx_rcd
where year(trx_time)='2024'
and usr_id=5201314520
and trx_amt=(
	select max(trx_amt) from cmb_usr_trx_rcd
	where year(trx_time)='2024'
	and usr_id=5201314520
)
2025-03-13 字符串与通配符(2)好多关键词做规则,可以使用rlike 
select 
case whenmch_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;
2025-03-13 字符串与通配符(1)名称里面有特服,可以使用通配符 
select count(distinct mch_nm) as mch_cnt
from cmb_usr_trx_rcd 
where mch_nm like '%按摩保健休闲%'
2025-03-13 分类(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 ser_typ
2025-03-13 分组与聚合函数(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 trx_amt>=288 and usr_id=5201314520
group by mch_nm
order by trx_amt desc
2025-03-13 分组与聚合函数(5)想知道何时成瘾,用Max Or Min? 
select usr_id,
min(trx_time)as first_time, 
mch_nm 
from cmb_usr_trx_rcd 
where usr_id=5201314520
and mch_nm='红玫瑰按摩保健休闲'
2025-03-13 分组与聚合函数(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 
	date(trx_time) between '2023-01-01' and '2024-06-30'
	and mch_nm='红玫瑰按摩保健休闲'
group by trx_amt	
order by avg_trx_per_user desc
limit 5;
2025-03-13 分组与聚合函数(3)五花八门的项目,其实都有固定套路(1) 
select
    trx_amt, 
    count(1) as trx_cnt 
from
    cmb_usr_trx_rcd
where
    mch_nm = '红玫瑰按摩保健休闲' 
    and date(trx_time) between '2024-01-01'and '2024-07-31'
group by
    trx_amt 
order by
    trx_cnt desc 
limit 5;
2025-03-13 分组与聚合函数(2)擦边营收怎么样,聚合函数可看出 
select 
date(trx_time) as trx_date,
round(max(trx_amt),2) as 	max_trx_amt,
round(min(trx_amt),2) as min_trx_amt,
round(avg(trx_amt),6) as avg_trx_amt,
round(sum(trx_amt),2) as total_trx_amt
from cmb_usr_trx_rcd
wheredate(trx_time) between '2024-09-01' and '2024-09-30'
and mch_nm = '红玫瑰按摩保健休闲'
group by date(trx_time)
order by trx_date