排名

用户解题统计

过去一年提交了

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

收藏

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

评论笔记

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

提交记录

提交日期 题目名称 提交代码
2025-03-04 用户听歌习惯的时间分布 
select
user_id
,dayname(start_time)
,count(1)
from listen_rcd
group by 
user_id
,dayname(start_time)
order by
user_id
,dayname(start_time)
2025-02-20 歌曲流行度分析 
select
song_name
,count(distinct user_id)
,case when count(distinct user_id)>=50 then '热门歌曲' else '普通歌曲' end type
from song_infosi
left join listen_rcd lr on si.song_id=lr.song_id
group by
	song_name
order by
	song_name
,count(distinct user_id) desc
2025-02-20 用户听歌完成情况 
select
	user_id
,sum(if_finished)/count(1)*100
from listen_rcd
group by
	user_id
having
	sum(if_finished)/count(1)>=0.5
2025-02-20 用户听歌完成情况 
select
	user_id
,sum(if_finished)/count(1)
from listen_rcd
group by
	user_id
having
	sum(if_finished)/count(1)>=0.5
2025-02-20 专辑播放量统计 
select
t3.album_name
,count(distinct t1.user_id)
from 
	listen_rcd t1
join song_info t2 on t1.song_id=t2.song_id
join album_info t3 on t2.album_id=t3.album_id
group by 
	t3.album_id
	,t3.album_name
order by
	count(distinct t1.user_id) desc,t3.album_name asc
limit 5;
2025-02-20 专辑播放量统计 
select
t3.album_name
,count(distinct user_id)
from 
	listen_rcd t1
inner join song_info t2 on t1.song_id=t2.song_id
inner join album_info t3 on t2.album_id=t3.album_id
group by 
	t3.album_id
	,t3.album_name
order by
	count(1) desc,t3.album_name asc
limit 5;
2025-02-20 用户听歌多元化标签 
with a as 
(select
user_id
,count(distinct origin_singer_id) singer_cnt
from listen_rcd l
left join
	song_info s 
on l.song_id=s.song_id
group by
	user_id
)
select
	user_id
,case whensinger_cnt >=3 then '多样化听众'
else '单一化听众' end 
from a
2025-02-20 查找没有观看记录的用户 
select usr_id from bilibili_t100 t1
where 
	not exists 
(select 1 from bilibili_t20 t2 where t2.usr_id=t1.usr_id )
2025-02-20 查找没有观看记录的用户 
SELECT DISTINCT usr_id
FROM bilibili_t100
WHERE usr_id NOT IN (SELECT DISTINCT usr_id FROM bilibili_t20);
2025-02-20 计算每个用户的日均观看时间 
select
uid
,round(avg(watch_time),0)
from
(select
uid
,date(start_time)
,sum(timestampdiff(second,start_time,end_time)) watch_time
from ks_video_wat_log 
group by
	uid
,date(start_time)
)a
group by
	uid
order by
	avg(watch_time) desc
limit 5
2025-02-20 计算每个用户的日均观看时间 
select
uid
,round(avg(watch_time),0)
from
(select
uid
,date(start_time)
,sum(timestampdiff(second,start_time,end_time)) watch_time
from ks_video_wat_log 
group by
	uid
,date(start_time)
)a
group by
	uid
order by
	avg(watch_time) desc
2025-02-20 统计每个作者发布视频的平均互动指数 
select
author_id
,round(sum(if_like+if_comment+if_retweet+if_fav)/count(distinct video_id),2) avg_Interactions
from
(select
author_id
 ,t1.video_id
,if_like
,case when comment_id is not null then 1 else 0 endif_comment
,if_retweet
,if_fav
from ks_video_wat_log t1
inner join ks_video_inf t2
on t1.video_id=t2.video_id
) a 
group by
	author_id
order by
	avg_Interactions desc
2025-02-20 统计每个作者发布视频的平均互动指数 
select
author_id
,round(sum(if_like)+sum(if_comment)+sum(if_retweet)+sum(if_fav)/count(distinct video_id),2) avg_Interactions
from
(select
author_id
 ,t1.video_id
,if_like
,case when comment_id is not null then 1 else 0 endif_comment
,if_retweet
,if_fav
from ks_video_wat_log t1
inner join ks_video_inf t2
on t1.video_id=t2.video_id
) a 
group by
	author_id
order by
	avg_Interactions desc
2025-02-20 计算视频的平均观看完成率 
select 
t2.video_id
,t2.title
,coalesce(avg(timestampdiff(second,start_time,end_time)/duration ),0)rate
from ks_video_wat_log t1
inner join
	ks_video_inf t2
on t1.video_id =t2.video_id
group by
	t2.video_id
order by
	coalesce(avg(timestampdiff(second,start_time,end_time)/duration ),0) desc
2025-02-20 找出最近一周内发布的竖屏视频 
select 
video_id
,author_id
,title
from ks_video_inf
where
	screen_type='p'
and release_time>=date_sub(current_date,interval 7 day)
2025-02-20 统计每个视频的点赞数 
select
	t1.video_id
,t2.title
,sum(if_like)
from 
	ks_video_wat_log t1
left join
	ks_video_inf t2
on t1.video_id=t2.video_id
group by
	t1.video_id
,t2.title
order by
	sum(if_like) desc;
2025-02-20 计算用户观看视频的平均时长 
select
	uid
,avg(timestampdiff(second,start_time,end_time))
from 
	ks_video_wat_log
 group by
 	uid
order by
	avg(timestampdiff(second,start_time,end_time)) desc
2025-02-20 中字头上市企业 
select
count(1)
from
	stock_info
where
	industry in ('通信设备','生物制药','旅游景点','医疗保健','食品')
 	and 
(name like '中%' or name like '%华%')
2025-02-20 各行业第一家上市公司 
select
	ts_code
,symbol
,name
,area
,industry
,list_date
from
(select
*
,row_number()over(partition by industry order by list_date asc) rn
from stock_info
where industry is not null
) a 
where
	a.rn=1
2025-02-20 按交易所统计软件服务、银行上市公司数量(2) 
select
case when ts_code like '%SZ' THEN '深交所'
when ts_code like '%SH' THEN '上交所'
when ts_code like '%BJ' THEN '北交所'
else null endtype
,industry
,count(1)
from stock_info 
where industry in('软件服务','银行')	
group by 
	type 
	,industry
order by
	count(1) desc;