牛客网练习
caitlin12345
这个作者很懒,什么都没留下…
展开
-
牛客每个人最近的登录日期_每个日期登录新用户个数(活用distinct,min,left join)
题目描述牛客每天有很多人登录,请你统计一下牛客每个日期登录新用户个数,有一个登录(login)记录表,简况如下:第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备登录了牛客网,因为是第1次登录,所以是新用户请你写出一个sql语句查询每个日期登录新用户个数,并且查询结果按照日期升序排序,上面的例子查询结果如下:查询结果表明:2020-10-12,有3个新用户(user_id为2,3,1)登录2020-10-13,没有新用户登录2020-10-14,有1个新用原创 2021-04-21 16:47:26 · 560 阅读 · 0 评论 -
没人最近的登录日期DATE_ADD(date,INTERVAL 1 DAY)
题目描述牛客每天有很多人登录,请你统计一下牛客新登录用户的次日成功的留存率,有一个登录(login)记录表,简况如下:第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备第一次新登录了牛客网。。。请你写出一个sql语句查询新登录用户次日成功的留存率,即第1天登陆之后,第2天再次登陆的概率,保存小数点后面3位(3位之后的四舍五入),上面的例子查询结果如下:查询结果表明:user_id为1的用户在2020-10-12第一次新登录了,在2020-10-13又登录了,原创 2021-04-21 15:55:19 · 3151 阅读 · 1 评论 -
异常的邮件概率
题目描述现在有一个需求,让你统计正常用户发送给正常用户邮件失败的概率:有一个邮件(email)表,id为主键, type是枚举类型,枚举成员为(completed,no_completed),completed代表邮件发送是成功的,no_completed代表邮件是发送失败的。简况如下:第1行表示为id为2的用户在2020-01-11成功发送了一封邮件给了id为3的用户;…第3行表示为id为1的用户在2020-01-11没有成功发送一封邮件给了id为4的用户;…第6行表示为id为4的用户在2原创 2021-04-14 18:22:48 · 216 阅读 · 0 评论 -
请你写出更新语句,将所有获取奖金的员工当前的(salaries.to_date=‘9999-01-01‘)薪水增加10%。
题目描述请你写出更新语句,将所有获取奖金的员工当前的(salaries.to_date=‘9999-01-01’)薪水增加10%。(emp_bonus里面的emp_no都是当前获奖的所有员工)create table emp_bonus(emp_no int not null,btype smallint not null);CREATE TABLE salaries (emp_no int(11) NOT NULL,salary int(11) NOT NULL,from_date dat原创 2021-04-12 19:37:57 · 309 阅读 · 0 评论 -
对所有员工的当前薪水进行排序
错点分析:遗漏当前WHERE to_date = '9999-01-01'排序后整体的按照排名以及emp_no升序排列ORDER BY t_rank, emp_no asc知识点:row_number() over():排名函数,没有并列名次,名次连续代码:SELECT row_number()over(distribute by class order by score desc)from stu#根据班级归类按成绩排序distribute classran..原创 2021-04-08 12:27:15 · 363 阅读 · 0 评论 -
查找员工入职以来的薪水涨幅(活用关联)
SELECT s1.emp_no,(salary - old_salary) AS growth #这里是为了拿到emp_no和薪水涨幅FROM (SELECT emp_no,salary FROM salaries WHERE to_date = '9999-01-01') as s1#这里是为了获取salaries表中的当前薪水情况和emp_no INNER JOIN (SELECT e.emp_no,s.salary AS old_salary ..原创 2021-04-07 21:12:29 · 97 阅读 · 0 评论 -
牛客:查找当前薪水排名第二多的员工编号emp_n,不用order by
SELECT E.emp_no , S.salary , E.last_name , E.first_nameFROM employees EJOIN salaries S ON E.emp_no = S.emp_noWHERE S.salary = ( #选取第二高薪水: SELECT MAX(salary) FROM salaries WHERE salary < ( #选取最高薪水: SELECT MAX(salary)...原创 2021-04-07 21:07:13 · 143 阅读 · 0 评论 -
SQL 奇偶数
获取偶数的方法select * from pos_info_report_tmp_20110712 rwhere mod(r.id,2) = 0;获取奇数的方法select * from pos_info_report_tmp_20110712 rwhere mod(r.id,2) = 1;原创 2021-04-07 20:01:23 · 344 阅读 · 0 评论