排名

用户解题统计

过去一年提交了

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

收藏

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

评论笔记

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

提交记录

提交日期 题目名称 提交代码
2025-02-17 分组与聚合函数(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;
2025-02-17 分组与聚合函数(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;
2025-02-17 分组与聚合函数(1)Money全都花在哪,GroupBy来查一查 
select 
    mch_nm, 
    sum(trx_amt) as sum_trx_amt 
from 
    cmb_usr_trx_rcd 
where 
    year(trx_time) = 2024 
    and usr_id = '5201314520' 
group by 
    mch_nm 
order by 
    sum_trx_amt desc
2025-02-17 条件过滤(3)Hour函数很给力,组合条件要仔细 
select
    *
from
    cmb_usr_trx_rcd
where
    date(trx_time) 
    between '2024-09-01' and '2024-09-30' 
    and (
        (hour(trx_time) >= 22) 
        or
        (hour(trx_time) between 0 and 5) 
    )
    and usr_id = '5201314520' 
order by trx_time
2025-02-17 条件过滤(2)半夜活动有猫腻,Hour函数给给力 
select
    *
from
    cmb_usr_trx_rcd
where
    date(trx_time) 
    between '2024-09-01' and '2024-09-30' 
    and hour(trx_time) between 1 and 5 
    and usr_id = '5201314520' 
order by trx_time
2025-02-17 条件过滤(1)异地男友有异常,数分闺蜜来帮忙 
select
    *
from
    cmb_usr_trx_rcd
where 
    date(trx_time) between '2024-09-01' and '2024-09-30'
    and usr_id='5201314520'
order by 
    trx_time
2025-02-17 抖音面试真题(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;
2025-02-17 文科潜力股 
select 
    * 
from 
    scores 
where 
    (
      (subject = '历史' and score >= 90)
    or (subject = '地理' and score >= 90)
    or (subject = '政治' and score >= 90)
       )
    and exam_date='2024-06-30'
order by score desc ,student_id,subject
2025-02-17 数学成绩分段统计(1) 
SELECT 
    CASE 
        WHEN sc.score >= 110 THEN '[110, 120]'
        WHEN sc.score >= 90 THEN '[90, 110)'
        WHEN sc.score >= 60 THEN '[60, 90)'
        ELSE '[0, 60)'
    END AS score_range,
    COUNT(*) AS num_students
FROM 
    students s
JOIN 
    scores sc ON s.student_id = sc.student_id
WHERE 
    sc.subject = '数学' 
    AND sc.exam_date = '2024-06-30'
GROUP BY 
    score_range
ORDER BY 
    score_range DESC;
2025-02-17 S1年级物理成绩前10名(2) 
WITH ranked_scores AS (
    SELECT 
        s.student_id, 
        s.name, 
        sc.score,
        rank() OVER (PARTITION BY s.grade_code ORDER BY sc.score DESC) AS rnk
    FROM 
        students s
    JOIN 
        scores sc ON s.student_id = sc.student_id
    WHERE 
        s.grade_code = 'S1' 
        AND sc.subject = '物理'
)
SELECT 
    student_id, 
    name, 
    score, 
    rnk
FROM 
    ranked_scores
WHERE 
    rnk <= 10
ORDER BY 
    rnk,student_id
2025-02-17 S1年级物理成绩前10名(1) 
WITH ranked_scores AS (
    SELECT 
        s.student_id, 
        s.name, 
        sc.score,
        ROW_NUMBER() OVER (PARTITION BY s.grade_code ORDER BY sc.score DESC) AS rnk
    FROM 
        students s
    JOIN 
        scores sc ON s.student_id = sc.student_id
    WHERE 
        s.grade_code = 'S1' 
        AND sc.subject = '物理'
)
SELECT 
    student_id, 
    name, 
    score, 
    rnk
FROM 
    ranked_scores
WHERE 
    rnk <= 10
ORDER BY 
    rnk,student_id
2025-02-17 S1年级物理成绩前10名(1) 
with a as
(select s1.student_id, s1.name, s2.score,
row_number()over(order by s2.score desc) as r
from students s1 join scores s2
on s1.student_id = s2.student_id
where s2.subject='物理'
and s1.grade_code='S1')
select student_id, name,score,r
from a
where r <= 10
2025-02-17 S1年级物理成绩前10名(1) 
with a as
(select s1.student_id, s1.name, s2.score,
row_number()over(order by s2.score desc) as r
from students s1 join scores s2
on s1.student_id = s2.student_id
where s2.subject='物理'
and s1.grade_code='S1')
select student_id, name,score,r
from a
where r between 1 and 10
2025-02-17 S1年级物理成绩前10名(1) 
select s1.student_id, s1.name, s2.score,
row_number()over(order by s2.score desc) as r
from students s1 join scores s2
on s1.student_id = s2.student_id
where s2.subject='物理'
and s1.grade_code='S1'
limit 10
2025-02-17 人数最多的学生姓氏 
SELECT 
    LEFT(name, 1) AS surname,
    COUNT(*) AS cnt
FROM 
    students
GROUP BY 
    LEFT(name, 1)
ORDER BY 
    cnt DESC
LIMIT 5;
2025-02-17 学生信息和班主任姓名 
select s1.name,s1.class_code,s1.grade_code,t.name
from teachers t join students s1 
on t.head_teacher = s1.class_code
order by s1.student_id