随笔分类 - 牛客SQL练习
牛客SQL练习合集
摘要:描述 牛客每天有很多人登录,请你统计一下牛客每个用户查询刷题信息,包括: 用户的名字,以及截止到某天,累计总共通过了多少题。 不存在没有登录却刷题的情况,但是存在登录了没刷题的情况,不会存在刷题表里面,有提交代码没有通过的情况,但是会记录在刷题表里,只不过通过数目是0。有一个登录(login)记录表
阅读全文
摘要:描述 有很多同学在牛客购买课程来学习,购买会产生订单存到数据库里。 有一个订单信息表(order_info),简况如下: 第1行表示user_id为557336的用户在2025-10-10的时候使用了client_id为1的客户端下了C++课程的非拼团(is_group_buy为No)订单,但是状态
阅读全文
摘要:描述 有很多同学在牛客购买课程来学习,购买会产生订单存到数据库里。 有一个订单信息表(order_info),简况如下: 第1行表示user_id为557336的用户在2025-10-10的时候使用了client_id为1的客户端下了C++课程的订单,但是状态为没有购买成功。 第2行表示user_i
阅读全文
摘要:描述 有很多同学在牛客购买课程来学习,购买会产生订单存到数据库里。 有一个订单信息表(order_info),简况如下: 第1行表示user_id为557336的用户在2025-10-10的时候使用了client_id为1的客户端下了C++课程的订单,但是状态为没有购买成功。 第2行表示user_i
阅读全文
摘要:描述 牛客每次举办企业笔试的时候,企业一般都会有不同的语言岗位,比如C++工程师,JAVA工程师,Python工程师,每个用户笔试完有不同的分数,现在有一个分数(grade)表简化如下: 第1行表示用户id为1的选择了language_id为1岗位的最后考试完的分数为12000,....第7行表示用
阅读全文
摘要:描述 牛客每次考试完,都会有一个成绩表(grade),如下: 第1行表示用户id为1的用户选择了C++岗位并且考了11001分 。。。 第8行表示用户id为8的用户选择了前端岗位并且考了9999分 请你写一个sql语句查询用户分数大于其所在工作(job)分数的平均分的所有grade的属性,并且以id
阅读全文
摘要:描述 牛客每次考试完,都会有一个成绩表(grade),如下: 第1行表示用户id为1的用户选择了C++岗位并且考了11001分 。。。 第8行表示用户id为8的用户选择了JS岗位并且考了9999分 请你写一个sql语句查询各个岗位分数的平均数,并且按照分数降序排序,结果保留小数点后面3位(3位之后四
阅读全文
摘要:描述 牛客每天有很多人登录,请你统计一下牛客每个日期登录新用户个数,有一个登录(login)记录表,简况如下: 第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备登录了牛客网,因为是第1次登录,所以是新用户。。。第4行表示user_id为2的用户在2020-10-13
阅读全文
摘要:描述 牛客每天有很多人登录,请你统计一下牛客每个用户最近登录是哪一天,用的是什么设备. 有一个登录(login)记录表,简况如下: 第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备登录了牛客网。。。第4行表示user_id为3的用户在2020-10-13使用了客户端
阅读全文
摘要:描述 牛客每天有很多人登录,请你统计一下牛客每个用户最近登录是哪一天。 有一个登录(login)记录表,简况如下: 第1行表示user_id为2的用户在2020-10-12使用了客户端id为1的设备登录了牛客网。。。第4行表示user_id为3的用户在2020-10-13使用了客户端id为2的设备登
阅读全文
摘要:描述 现在有一个需求,让你统计正常用户发送给正常用户邮件失败的概率:有一个邮件(email)表,id为主键, type是枚举类型,枚举成员为(completed,no_completed),completed代表邮件发送是成功的,no_completed代表邮件是发送失败的。简况如下: \ 第1行表
阅读全文
摘要:描述 有一个person表,主键是id,如下: 有一个任务(task)表如下,主键也是id,如下: 请你找到每个人的任务情况,并且输出出来,没有任务的也要输出,而且输出结果按照person的id升序排序,输出情况如下: drop table if exists person; drop table
阅读全文
摘要:描述 在牛客刷题有一个通过题目个数的(passing_number)表,id是主键,简化如下: 第1行表示id为1的用户通过了4个题目; ..... 第6行表示id为6的用户通过了4个题目; 请你根据上表,输出通过的题目的排名,通过题目个数相同的,排名相同,此时按照id升序排列,数据如下: d为5的
阅读全文
摘要:描述 在牛客刷题的小伙伴们都有着牛客积分,积分(grade)表简化可以如下: id为用户主键id,number代表积分情况,让你写一个sql查询,积分表里面出现三次以及三次以上的积分,查询结果如下: drop table if exists grade;CREATE TABLE `grade` (`
阅读全文
摘要:描述 按照salary的累计和running_total,其中running_total为前N个当前( to_date = '9999-01-01')员工的salary累计和,其他以此类推。 具体结果如下Demo展示。 drop table if exists `salaries` ; CREATE
阅读全文
摘要:描述 获取有奖金的员工相关信息。 drop table if exists `employees` ; drop table if exists emp_bonus; drop table if exists `salaries` ; CREATE TABLE `employees` ( `emp_
阅读全文
摘要:描述 使用含有关键字exists查找未分配具体部门的员工的所有信息。CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`la
阅读全文
摘要:描述 分页查询employees表,每5行一页,返回第2页的数据 drop table if exists `employees` ; CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL,
阅读全文
摘要:描述 查找排除在职(to_date = '9999-01-01' )员工的最大、最小salary之后,其他的在职员工的平均工资avg_salary。CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL,`salary` int(11) NOT NUL
阅读全文
摘要:描述 按照dept_no进行汇总,属于同一个部门的emp_no按照逗号进行连接,结果给出dept_no以及连接出的结果employeesCREATE TABLE `dept_emp` (`emp_no` int(11) NOT NULL,`dept_no` char(4) NOT NULL,`fro
阅读全文

浙公网安备 33010602011771号