- 博客(10)
- 收藏
- 关注
原创 牛客每个人最近的登录日期_每个日期登录新用户个数(活用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 582
原创 没人最近的登录日期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 3188 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 230
原创 请你写出更新语句,将所有获取奖金的员工当前的(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 320
原创 对所有员工的当前薪水进行排序
错点分析:遗漏当前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 377
原创 查找员工入职以来的薪水涨幅(活用关联)
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 104
原创 牛客:查找当前薪水排名第二多的员工编号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 153
原创 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 365
原创 coalesce()函数和 using case
COALESCE()函数1. 函数解释命令格式:coalesce(expr 1,expr 2,…);用途:返回列表中第一个NULL 的值,如果列表中所有的值都是NULL则返回NULL;参数说明:expr i 是要测试的值。所有这些值类型必须相同或者为NULL,否则会引发异常。返回值:返回值类型和参数类型相同2. 示例题目:Use COALESCE to print the mobile number. Use the number ‘07986 444 2266’ if
2021-03-31 18:11:11 146
原创 SQLZOO学习笔记(错题)
SQLZOO第七部分错题尊·特拉華達’John Travolta’最忙是哪一年? 顯示年份和該年的電影數目SELECT yr,COUNT(title) FROM movie JOIN casting ON movie.id=movieid JOIN actor ON actorid=actor.idwhere name='John Travolta'GROUP BY yrHAVING COUNT(title)=(SELECT MAX(c) FROM(SELECT y
2021-03-31 16:48:10 186
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人