前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >比较复杂的sql面试题「建议收藏」

比较复杂的sql面试题「建议收藏」

作者头像
全栈程序员站长
发布2022-07-29 15:43:42
5370
发布2022-07-29 15:43:42
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

一、分组统计每个班的分数前三名(等同于LeetCode:185. Department Top Three Salaries)

表结构:

代码语言:javascript
复制
create table student(

id varchar(20),-- 编号

class varchar(20),-- 年级

score int-- 分数

);
代码语言:javascript
复制
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:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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;

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/129291.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、分组统计每个班的分数前三名(等同于LeetCode:185. Department Top Three Salaries)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档