我见烈焰
我见烈焰
全部文章
分类
题解(41)
归档
标签
去牛客网
登录
/
注册
我见烈焰的博客
全部文章
(共20篇)
题解 | #各用户等级的不同得分表现占比#
select level,score_grade,round(num2/num1,3) as ratio from ( select level,score_grade, count(score_grade) as num2 from ( select leve...
Mysql
2022-02-28
0
345
题解 | #每份试卷每月作答数和截止当月的作答总数。#
select exam_id, date_format(start_time,'%Y%m') as start_month, count(start_time) as month_cnt, sum(count(start_time)) over(partition by ex...
Mysql
2022-02-27
0
237
题解 | #试卷完成数同比2020年的增长率及排名变化#
需要注意的几个点: 排名变化:rank()返回无符号类型,不能直接减,用cast转换一下。cast(strng as type),type:char(字符型)、DATE(日期型)、DATETIME(日期和时间型)、DECIMAL(float型 SIGNED(int整数型)、TIME(时间型) 排序...
Mysql
2022-02-27
1
416
题解 | #未完成率较高的50%用户近三个月答卷情况#
一种更少嵌套的sql实现方法 select uid,start_month,total_cnt,complete_cnt from ( select uid, dense_rank() over(partition by uid order by date_format(start_...
Mysql
2022-02-27
0
344
题解 | #第二快/慢用时之差大于试卷时长一半的试卷#
select exam_id,duration,release_time from examination_info where exam_id in ( select exam_id from ( select exam_id,spend_time_fast from ...
Mysql
2022-02-27
1
285
题解 | #分别满足两个活动的人#
看了几个题发现对第二个条件至少有一次用了一半时间就完成高难度试卷且分数大于80的人(activity2)发了福利券的处理都是放在where里筛选,其实当然可行,毕竟这道题之后直接group by uid那么不影响uid出现次数。 我就写一下至少一次的满足条件sql写法吧: select uid, ...
Mysql
2022-02-26
0
269
题解 | #试卷发布当天作答人数和平均分#
select er.exam_id as exam_id, count(distinct er.uid) as uv, round(avg(score),1) as avg_score from exam_record as er left join examination_info...
Mysql
2022-02-26
0
289
题解 | #查找入职员工时间排名倒数第三的员工所有信息#
这题考察窗口函数罢了,了解rank()、dense_rank()、row_number()的用法区别就很简单了。 rank():排序时若存在相同位次记录,则会跳过之后的位次,简单来说一个示例:1,1,3,4,4,6 dense_rank():不跳过。示例:1,1,2,3,3,4 row_numbe...
Mysql
数据库
窗口函数
2022-02-26
22
581
题解 | #SQL31 未完成率较高的50%用户近三个月答卷情况#
select uid, date_format(start_time,'%Y%m') as start_month, count(start_time) as total_cnt, count(submit_time) as complete_cnt from ( -- 6、...
Mysql
2022-02-17
0
327
题解 | #未完成率较高的50%用户近三个月答卷情况#
select uid, start_month, count(start_month) as total_cnt, count(score) as complete_cnt from (select exam_record.uid, ...
Mysql
2022-02-10
0
326
首页
上一页
1
2
下一页
末页