比较复杂的sql面试题
一、分组统计每个班的分数前三名(等同于LeetCode:185. Department Top Three Salaries)
表结构:
create table student(id varchar(20),-- 编号class varchar(20),-- 年级score int-- 分数);
insert student values('1','一年级',82);insert student values('2','一年级',95);insert student values('3','一年级',82);insert student values('4','一年级',40);insert student values('5','一年级',20);insert student values('6','二年级',95);insert student values('7','二年级',40);insert student values('8','二年级',3);insert student values('9','二年级',60);insert student values('10','二年级',10);insert student values('11','三年级',70);insert student values('12','三年级',60);insert student values('13','三年级',40);insert student values('14','三年级',90);
sql:
select a.class,a.score
from student a
where (select count(*) from student where class=a.class and a.score<score)<3
order by a.class,a.score desc;
二、LeetCode:262. Trips and Users
题目详见:https://leetcode.com/problems/trips-and-users/
sql:
SELECT Request_at Day,ROUND(SUM(IF(Status = 'completed', 0, 1)) / COUNT(*), 2) 'Cancellation Rate'
FROM Trips t
LEFT JOIN Users t1 ON t.Client_Id = t1.Users_Id
WHERE t1.Banned = 'No' AND Request_at BETWEEN '2013-10-01' AND '2013-10-03'
GROUP BY t.Request_at;
比较复杂的sql面试题相关推荐
- 图解SQL面试题:经典50题
图解SQL面试题:经典50题 已知有如下4张表: 学生表:student(学号,学生姓名,出生年月,性别) 成绩表:score(学号,课程号,成绩) 课程表:course(课程号,课程名称,教师号) ...
- sql计算留存_免费教程《图解SQL面试题》
运营.产品经理.数据分析.软件开发等职位,SQL是必会的技能. 面试经常考察SQL,但是不会做,怎么办? 工作里遇到的业务问题,需要用SQL实现,怎么办? 为了帮助你解决这些问题,我写了一本免费教程& ...
- 基础SQL面试题(3)
问题描述:为管理岗位业务培训信息,建立3个表:S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号.学员姓名.所属单位.学员年龄C (C#,CN ) C#,CN 分别代表课程编号.课程 ...
- 基础SQL面试题(1)
如下4个表: 1. Student(S#,Sname,Sage,Ssex) 学生表 2. Course(C#,Cname,T#) 课程表 3. SC(S#,C#,score) 成绩表 4. Teach ...
- sql 以a开头的所有记录_#9#猴子聊数据分析之常见的SQL笔试题和面试题(下)
题目来源 猴子:常见的SQL笔试题和面试题(下)zhuanlan.zhihu.com 1.SQL语言允许使用通配符进行字符串匹配的操作,其中'%'可以表示:多个字符 2.通过 SQL,如何从 &qu ...
- Sql面试题之三(难度:简单| 含答案)
Sql面试题之三(难度:简单| 含答案) 答案: 1.SELECT B.name, B.Depart T.Content FROM B, T WHERE ( T.Content = '税法培训' an ...
- sql a 表 若包含b表 则a 表 列显示_几道常见的SQL面试题,看你能答对几道?
分享几道比较常见的SQL面试题,在不看底部参考答案的情况下,看自己能做对几道. 1.用一条SQL 语句 查询出每门课都大于80 分的学生姓名 2. 学生表 如下: 删除除了自动编号不同, 其他都相同的 ...
- 30道经典SQL面试题讲解(11-20)
本篇节选自书籍<对比Excel,轻松学习SQL数据分析>一书,主要讲解数据分析面试中常见的30道SQL面试题.1-10题见:30道经典SQL面试题讲解(1-10) 11 行列互换 现在我们 ...
- 30道经典SQL面试题讲解(1-10)
本篇节选自书籍<对比Excel,轻松学习SQL数据分析>一书,主要讲解数据分析面试中常见的30道SQL面试题. 1 查询每个班学生数 现在有一张全校学生信息表stu_table,这张表存储 ...
- lamda表达式修改数据_图解sql面试题:如何按条件修改数据?
[题目] 下图表名是"班级表",请将班级中所有的1班.2班交换,0班变为3班.要求只使用更新语句(update),不要使用select语句. [解题思路] 1. 题目要求按条件更 ...
最新文章
- 拥抱单页网站! jQuery全屏滚动插件fullPage.js
- php手游管理系统,搭建简单的游戏管理系统
- Boost:基于boost::asio单元测试的测试程序
- 滑动窗口最大值—leetcode239
- ios开发 多人语音聊天_手游语音市场的现状、机遇与挑战
- 单点突破,击穿阈值,DevOps转型你需要这样做
- php开源Plogger用法
- 开启 ASA 5505 snmp协议
- docker镜像的使用及相关
- paip.提高用户体验----c++图片按钮方法总结
- 《游戏设计艺术(第二版)》第十二章个人学习
- PLSQL下载、安装、配置、连接详细教程
- [实战] 图片转素描图
- 库存JAVA_Java解决高并发下商品库存更新
- html 恶意广告,电脑自动弹出恶意广告怎么处理
- 什么是 IoT App SDK?
- sense8影评摘抄
- java改变背景图片大小,设置背景图片大小相同的的Java应用程序窗口/屏幕
- BZOJ 3813 奇数国
- java搬砖问题流程图,搬砖问题 c++