早起的虫儿e
早起的虫儿e
全部文章
题解
归档
标签
去牛客网
登录
/
注册
早起的虫儿e的博客
全部文章
/ 题解
(共7篇)
题解 | #获得积分最多的人(二)#
问题描述:请你写一个SQL查找积分增加最高的用户的id(可能有多个),名字,以及他的总积分是多少,查询结果按照id升序排序,以上例子查询结果如下:方案1:分组求和grade_sum,添加窗口函数sum_rank WITH t AS( SELECT user_id,SUM(grade_num...
窗口函数
WHERE子查询
内连接
2021-04-21
0
625
题解 | #获得积分最多的人(一)#
问题描述:请你写一个SQL查找积分增加最高的用户的名字,以及他的总积分是多少(此题数据保证积分最高的用户有且只有1个),以上例子查询结果如下: 方案1:分组计算grade_num,作为临时表t,联立user表 SELECT u.name,t.grade_sum FROM user u INNER ...
窗口函数
子查询
内连接
2021-04-21
0
554
题解 | #最差是第几名(二)#
问题描述:老师想知道学生们综合成绩的中位数是什么档位,请你写SQL帮忙查询一下,如果只有1个中位数,输出1个,如果有2个中位数,按grade升序输出,以上例子查询结果如下: 方案1:设立三个表,计算中位数表t,人数累积表s,人数表(人数前移)l WITH t AS ( # 中位数表...
窗口函数
FROM子查询
嵌套查询
2021-04-21
1
552
题解 | #最差是第几名(一)#三种方法
问题描述:请你写出一个SQL查询,如果一个学生知道了自己综合成绩以后,最差是排第几名? 结果按照grade升序排序,以上例子查询如下: 方案1:采用窗口函数SUM() OVER() SELECT grade,SUM(number) OVER(ORDER BY grade ASC) AS t_cnt...
窗口函数
CASE表达式
自联结
2021-04-20
15
725
题解 | #考试分数(二)#
问题描述:请你写一个sql语句查询用户分数大于其所在工作(job)分数的平均分的所有grade的属性,并且以id的升序排序方案1:内连接第一步:分组求算部门的平均分 SELECT job,AVG(score) FROM grade GROUP BY job第二步:第一步作为临时表t联结grade,w...
窗口函数
where子查询
内连接
2021-04-17
47
1284
题解 | #牛客每个人最近的登录日期(四)#
解题关键:新用户=登录日期date 等于 按user_id分组中的MIN(date) 方案1:GROUP BY分组+CASE表达式嵌套新用户的过滤+SUM函数求和得新用户数量第一步:用户最早登录的记录作为后续新用户的过滤条件 SELECT user_id,MIN(date) FROM login...
窗口函数
where子查询
分组group
ROW_NUMBER
case表达式
2021-04-14
0
469
题解 | #统计salary的累计和running_total#
题目描述:按照salary的累计和running_total,其中running_total为前N个当前( to_date = '9999-01-01')员工的salary累计和,其他以此类推。 具体结果如下Demo展示。解答:本题考查窗口函数中使用聚合函数 SELECT emp_no,salary...
窗口函数
聚合函数
2021-04-09
42
1458