109号
109号
全部文章
题解
归档
标签
去牛客网
登录
/
注册
109号的博客
全部文章
/ 题解
(共16篇)
牛客每个日期新用户的次日留存率
这个题目关键的是找到每天的新用户数和次日的新用户留存数容易忽略的是留存为0的日期 SELECT a.date,ROUND(COUNT(DISTINCT login.user_id)/ COUNT(a.user_id),3) AS p FROM (这个查询是为了找到每天的新用户数 SELECT...
比率
sql
2020-12-06
8
807
牛客用户每个人最近登陆的日期
这里关键是要筛选出来最近登陆的日期,再去和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
查找所有员工自入职以来的薪水涨幅情况
需要分别找到入职时的薪水和当前薪水。入职时的薪水,可以通过employees表中的hire_date和salaries中的from_date来确定,当前薪水通过to_date='9999-01-01'来确定,再连接两个表,相减可得出薪水涨幅,最后使用order by排序 代码块 SELECT e.e...
sql
2020-12-03
3
653
不使用order by获取薪水第二多的员工信息
两种方法: 1.使用自连接和count函数计算排名,再筛选薪水排名第二的员工信息 代码块SELECT e.emp_no,s4.salary,last_name,first_name FROM employees AS e,salaries AS s4 WHERE e.emp_no=s4.emp_no...
排序
sql
2020-12-03
0
0
首页
上一页
1
2
下一页
末页