拼尽全力试试能力
拼尽全力试试能力
全部文章
分类
归档
标签
去牛客网
登录
/
注册
拼尽全力试试能力的博客
全部文章
(共8篇)
题解 | 统计所有课程参加培训人次
再面对这种情况的COUNT,可以直接计算题中逗号的数量用以下代码 LENGTH(course) - LENGTH(REPLACE(course, ',' , '')) + 1
2025-11-16
0
49
题解 | 统计所有课程参加培训人次
再面对这种情况的COUNT,可以直接计算题中逗号的数量用以下代码 LENGTH(course) - LENGTH(REPLACE(course, ',' , '')) + 1
2025-11-16
0
33
最全的两种解法 | 最长连续登录天数
本题两种解法1.使用LAG()OVER和SUM()OVER()两个窗口函数使用LAG用于找出连续天的节点,如果和前一个日期相减不为0,则为新的开始 SELECT user_id, ...
2025-11-15
1
62
题解 | 获取所有非manager员工当前的薪水情况
本题重点是如何在总表中将manager表的内容剔除我们很轻易地想到可以使用LEFT JOIN 后利用NULL值进行排除于是就有 SELECT de.dept_no, de.emp_no, salary FROM dept_emp de JOIN salaries s USING(emp_no) LE...
2025-11-10
0
28
题解 | 对所有员工的薪水按照salary降序进行1-N的排名
本题中涉及到同数值出现,需要进行二次排名只需在最后一行加入 ORDER BY salary DESC, emp_no ASC 即可 SELECT emp_no, salary, DENSE_RANK()OVER(ORDER BY salary DESC) t_rank FROM salaries O...
2025-11-09
0
34
题解 | 查找在职员工自入职以来的薪水涨幅情况
阅读题目后可得知本题的重点为如何求出old_salary以及new_salary,这样就可以利用二者相减求出growth而salary的数值只在salaries表中呈现,所以我们要利用此表与employees表的关系: 我们发现old_salary是员工第一次入职时的工资,换言之就是hire_dat...
2025-11-09
1
45
题解 | 查找所有员工的last_name和first_name以及对应的dept_name
这里其实有一个隐性表格,再写第三行代码的时候,sql已经自动生成了一个表R1将employees和dept_emp连接起来,所以在进行第四行代码的编写时可以直接引用de.dept_no SELECT last_name, first_name, dept_name FROM employees e ...
2025-11-08
1
43
题解 | 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
SELECT e.emp_no, salary, last_name, first_name FROM employees e JOIN salaries s ON e.emp_no = s.emp_no WHERE salary = ( SELECT MAX(salary) FRO...
2025-11-08
1
52