排名

用户解题统计

过去一年提交了

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

收藏

收藏日期 题目名称 解决状态
2025-10-03 字符串与通配符(2)好多关键词做规则,可以使用rlike  已解决
2025-09-25 上月活跃用户数  已解决
2025-09-24 多云天气天数  已解决

评论笔记

评论日期 题目名称 评论内容 站长评论
2025-09-25 一线城市历年平均气温 
我自己用round,也发现有问题,比如:18.30只会显示18.3,所以还是只能用cast强制转换一下类型。
啥也没说

提交记录

提交日期 题目名称 提交代码
2025-10-03 按歌手名字字符长度统计歌手个数 
select length(singer_name) as l,count(*)
from singer_info
group by length(singer_name)
2025-10-03 按歌手名字字符长度统计歌手个数 
select singer_name, length(singer_name) from singer_info
2025-10-03 统计字符长度 
select singer_name,char_length(singer_name) as l
from singer_info
2025-10-03 歌手名字大写 
select upper(singer_name) as a
from singer_info
2025-10-03 北京有雪的日子 
select dt,tmp_h,tmp_l,con
from weather_rcd_china
where city='beijing' and con like '%雪%'
2025-10-03 人数最多的学生姓氏 
select left(name,1) as last,count(*) as cnt
from students
group by left(name,1)
order by 2 desc
limit 5
2025-10-03 多云天气天数 
select 
	city,
sum(case when con like '%多云%' then 1 else 0 end) as cnt,
concat(cast( sum(case when con like '%多云%' then 1 else 0 end)/count(1)*100 as decimal(10,2)),'%') as a
from weather_rcd_china
where 
	year(dt)=2021 
group by 
	city
2025-10-03 多云天气天数 
select 
	city,
sum(case when con like '%多云%' then 1 else 0 end) as cnt,
cast( sum(case when con like '%多云%' then 1 else 0 end)/count(1) as decimal(10,2)) as a
from weather_rcd_china
where 
	year(dt)=2021 
group by 
	city
2025-10-03 德州扑克起手牌- 手对 
select * from hand_permutations
where left(card1,1)=left(card2,1)
2025-10-03 德州扑克起手牌- A花 
select * 
from hand_permutations
where right(card1,1)=right(card2,1) and 
	(left(card1,1)='A' or left(card2,1)='A' )
2025-10-03 德州扑克起手牌-最强起手牌KK+ 
select * 
from hand_permutations 
where left(card1,1) in ('A','K') and left(card2,1) in ('A','K')
2025-10-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;
2025-10-03 字符串与通配符(1)名称里面有特服,可以使用通配符 
select count(distinct mch_nm) as a
from cmb_usr_trx_rcd
where mch_nm like '%按摩保健休闲%'
2025-10-03 字符串与通配符(1)名称里面有特服,可以使用通配符 
select count(1) as x
from cmb_usr_trx_rcd
where mch_nm like '%按摩保健休闲%'
group by mch_nm
2025-09-25 用户听歌习惯的时间分布 
select user_id,dayname(start_time) as s,count(1)
from listen_rcd
group by 1,2
order by 1,2
2025-09-25 渣男腰子可真行,端午中秋干不停 
select * from cmb_usr_trx_rcd
where 
	usr_id=5201314520 and 
	(date(trx_time) between '2024-6-8' and '2024-6-10' 
 or date(trx_time) between '2024-9-15' and '2024-9-17' )
2025-09-25 通勤、午休、临睡个时间段活跃人数分布 
select 
	count(distinct case when time(login_time) between '07:30:00' and '09:30:00' 
or time(login_time) between '18:30:00' and '20:30:00' then usr_id end) as '通勤',
count(distinct case when time(login_time) between '11:30:00' and '14:00:00' 
then usr_id end) as '午休',
count(distinct case when time(login_time) between '22:30:00' and '24:00:00' 
or time(login_time) between '00:00:00' and '01:00:00' then usr_id end) as '临睡'
from user_login_log
WHERE 
login_time >= DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 00:00:00') 
AND login_time < DATE_FORMAT(CURDATE(), '%Y-%m-01 00:00:00');
2025-09-25 通勤、午休、临睡个时间段活跃人数分布 
select 
	count(distinct case when time(login_time) between '07:30:00' and '09:30:00' 
or time(login_time) between '18:30:00' and '20:30:00' then usr_id end) as '通勤',
count(distinct case when time(login_time) between '11:30:00' and '14:00:00' 
then usr_id end) as '午休',
count(distinct case when time(login_time) between '22:30:00' and '01:00:00' 
then usr_id end) as '临睡'
from user_login_log
WHERE 
login_time >= DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 00:00:00') 
AND login_time < DATE_FORMAT(CURDATE(), '%Y-%m-01 00:00:00');
2025-09-25 上月活跃用户数 
SELECT 
    COUNT(DISTINCT usr_id) AS active_users
FROM 
    user_login_log
WHERE 
    login_time >= DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m-01 00:00:00') AND login_time < DATE_FORMAT(CURDATE(), '%Y-%m-01 00:00:00');
2025-09-25 上月活跃用户数 
select count(distinct usr_id)
from user_login_log
wherelogin_time>= DATE_SUB(NOW(), INTERVAL 1 MONTH) and login_time<now()