排名

用户解题统计

过去一年提交了

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

收藏

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

评论笔记

评论日期 题目名称 评论内容 站长评论
2025-03-11 绘制小时进入人数曲线 
我思来想去,感觉没啥疏漏啊
啥也没说

提交记录

提交日期 题目名称 提交代码
2025-03-11 不分类别的最火直播间 
select
	t2.live_id,
t2.live_nm,
count(1) as enter_cnt
from ks_live_t1 t1
	left join ks_live_t2 t2
on t1.live_id = t2.live_id
WHERE 
    DATE_FORMAT(t1.enter_time, '%Y-%m-%d %H') = '2021-09-12 23'
GROUP BY 
    t1.live_id, t2.live_nm
ORDER BY 
    enter_cnt DESC
LIMIT 5;
2025-03-11 绘制小时进入人数曲线 
select lpad(hour_entered, 2, '0') as hour_entered, enter_count
from(
  select hour(enter_time) as hour_entered,
  count(1) as enter_count
from ks_live_t1 t1 join ks_live_t2 t2 on t1.live_id = t2.live_id
group by hour(enter_time)) as new_table
order by hour_entered asc
2025-03-11 绘制小时进入人数曲线 
select HOUR(enter_time),COUNT(1)
FROM ks_live_t1
group by HOUR(enter_time)
2025-03-11 德州扑克起手牌-同花 
select 
    sum(case when right(card1,1)=right(card2,1) then 1 else 0 end)/2 as cnt 
    , count(1)/2 as ttl_cnt 
    ,cast(sum(case when right(card1,1)=right(card2,1) then 1 else 0 end)/count(1) AS DECIMAL(4,3)) as p 
from hand_permutations
2025-03-11 德州扑克起手牌-同花 
select 
    sum(case when right(card1,1)=right(card2,1) then 1 else 0 end)/2 as cnt 
    , count(1)/2 as ttl_cnt 
    ,sum(case when right(card1,1)=right(card2,1) then 1 else 0 end)/count(1)as p 
from hand_permutations
2025-03-11 德州扑克起手牌-同花 
select * from hand_permutations 
WHERE LEFT(CARD1,1) = LEFT(card2,1)
2025-03-11 德州扑克起手牌- 手对 
select * from hand_permutations 
where
	LEFT(card1,1) = LEFT(card2,1)
2025-03-11 德州扑克起手牌- 手对 
select * from hand_permutations 
where
	RIGHT(card1,2) = RIGHT(card2,2)
2025-03-11 德州扑克起手牌- 手对 
select * from hand_permutations 
where
	RIGHT(card1,1) = RIGHT(card2,1)
2025-03-11 德州扑克起手牌- A花 
select
	*
from
	hand_permutations
where
	(card1 LIKE 'A%'
OR card2 LIKE 'A%')
AND RIGHT(card1,1) = RIGHT(CARD2,1)
order by id;
2025-03-11 德州扑克起手牌- A花 
select
	*
from
	hand_permutations
where
	card1 LIKE 'A%'
OR card2 LIKE 'A%'
AND RIGHT(card1,1) = RIGHT(CARD2,1)
order by id;
2025-03-11 德州扑克起手牌- A花 
select
	*
from
	hand_permutations
where
	card1 LIKE 'A%'
OR card2 LIKE 'A%'
AND LEFT(card1,2) = LEFT(CARD2,2)
order by id;
2025-03-11 德州扑克起手牌- A花 
select
	*
from
	hand_permutations
where
	card1 LIKE '%A%'
OR card2 LIKE '%A%'
AND LEFT(card1,2) = LEFT(CARD2,2)
order by id;
2025-03-11 德州扑克起手牌- A花 
select
	*
from
	hand_permutations
where
	card1 LIKE '%A%'
OR card2 LIKE '%A%'
AND LEFT(card1,2) = LEFT(CARD2,2)
2025-03-11 德州扑克起手牌- A花 
select
	*
from
	hand_permutations
where
	card1 LIKE '%A%'
OR card2 LIKE '%A%'
2025-03-11 表连接(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-11 子查询(1)玩的最嗨那天在做甚?要用Where子查询 
select
    *
from
    cmb_usr_trx_rcd
where
    trx_amt = (
        select max(trx_amt)
        from cmb_usr_trx_rcd
        where usr_id = '5201314520'
          and year(trx_time) = 2024
    )
    and usr_id = '5201314520'
    and year(trx_time) = 2024;
2025-03-11 字符串与通配符(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-03-11 字符串与通配符(1)名称里面有特服,可以使用通配符 
select count(distinct mch_nm) as mch_cnt from cmb_usr_trx_rcd where mch_nm like '%按摩保健休闲%'
2025-03-11 字符串与通配符(1)名称里面有特服,可以使用通配符 
select count(mch_nm) as mch_cnt from cmb_usr_trx_rcd where mch_nm like '%按摩保健休闲%'