109号
109号
全部文章
分类
题解(16)
归档
标签
去牛客网
登录
/
注册
109号的博客
全部文章
(共6篇)
所有部门中当前员工当前薪水最高的相关信息
刚开始的思路:联结两个表后使用GROUP BY 和MAX聚合函数,但是在mysql环境中通不过 SELECT dept_no,dept_emp.emp_no,MAX(salary) AS salary FROM dept_emp INNER JOIN salaries ON dept_emp.em...
排序
联结
2020-12-14
40
2317
统计牛客每个用户刷题信息
两种方法: 使用窗口函数SUM,将日期作为“窗口”计算累加刷题数量 使用自联结 窗口函数 SELECT name AS u_n,date, SUM(number) OVER (PARTITION BY user_id ORDER BY date) AS ps_num FROM passing_n...
sql
联结
2020-12-07
14
1573
考试分数(5):查询各岗位分数的中位数位置上的所有grade信息
去网上搜了一下答案,当总数为偶数时,两个数的逆序或者顺序都会差1,使用abs()函数求绝对值;这里还需要使用Cast是因为不转换的话,可能序列号太大超出上限,太小超出下限0,从而报错修改一下代码: select id,a.job,score,t_rank from( select id,job,sc...
sql
排序
联结
2020-12-06
7
779
牛客用户每个人最近登陆的日期
这里关键是要筛选出来最近登陆的日期,再去和user、client两个表联结,最近登陆的条件需要特别注意,可以使用(user_id,date)in的方法,也可以使用联结,在联结时需要使用两个条件,即login.date=a.mdate和login.user_id=a.user_id SELECT us...
sql
联结
2020-12-03
7
668
获取员工当前的薪水比其manager当前薪水还高的相关信息
拆解问题:先找到员工的工号和薪水,经理的工号和薪水,再使用dept联结起来两个表 SELECT salaries.emp_no,dept_manager.emp_no AS manager_no,salaries.salary AS emp_salary,s1.salary AS manager_s...
sql
联结
2020-12-03
0
541
获取所有非manager员工当前的薪水情况
这里给出了四个表,每个表里都有一个主键emp_no,所以这里要注意的是每个表里的emp_no范围是否相同。理论上来说,employees表里的数据应该是员工信息最全、最准确的,dept_emp、dept_manager中的emp_no是employees中的子集,salaries中的emp_no可能...
sql
联结
2020-12-03
8
1022