SQL 50 · 高频 SQL 题目索引
共 50 题 · MySQL 8.0 · 格式:第 N 题-题名-数据表-关键字 · 支持关键字过滤
A1 Select 选择A2 Basic Joins 基础 JOINA3 Basic Aggregate Functions 基础聚合函数A4 Sorting and Grouping 排序与分组A5 Advanced Select and Joins 高级查询与连接A6 Subqueries 子查询A7 Advanced String Functions / Regex / Clause 高级字符串函数与正则
A1 Select 选择5 题
第1题-可回收且低脂的产品-Products-查询同时是低脂且可回收的产品 id第2题-寻找用户推荐人-Customer-找出不是由 id=2 的推荐人推荐的顾客姓名,推荐人为 NULL 的也要算第3题-大的国家-World-选出面积至少 300 万或人口至少 2500 万的国家,返回名称、人口、面积第4题-文章浏览 I-Views-找出浏览了自己文章的作者 id,去重后升序第5题-无效的推文-Tweets-找出内容长度超过 15 的推文 idA2 Basic Joins 基础 JOIN9 题
第6题-使用唯一标识码替换员工ID-Employees,EmployeeUNI-为每位员工显示唯一标识码,没有的显示 NULL第7题-产品销售分析 I-Sales,Product-返回每笔销售的产品名、年份、价格第8题-进店却未进行过交易的顾客-Visits,Transactions-统计每位只到店、无交易的顾客的次数第9题-上升的温度-Weather-找出比前一天温度更高的那天的 id第10题-每台机器的进程平均运行时间-Activity-求每台机器所有进程的平均运行时长,保留 3 位小数第11题-员工奖金-Employee,Bonus-列出奖金少于 1000 或没有奖金的员工姓名及奖金第12题-学生们参加各科测试的次数-Students,Subjects,Examinations-对每位学生与每门科目的组合统计参加测试的次数(没参加为 0),按学生 id、科目名排序第13题-至少有5名直接下属的经理-Employee-找出直接下属至少 5 人的经理姓名第14题-确认率-Signups,Confirmations-求每位用户的确认率(confirmed 占比),保留 2 位小数,未验证用户为 0A3 Basic Aggregate Functions 基础聚合函数8 题
第15题-有趣的电影-Cinema-选出 id 为奇数且描述不是 boring 的电影,按评分降序输出第16题-平均售价-Prices,UnitsSold-求各产品的平均售价(无销量为 0),保留 2 位小数第17题-项目员工 I-Project,Employee-求每个项目成员的平均工作年限,保留 2 位小数第18题-各赛事的用户注册百分率-Users,Register-求每场赛事报名人数占用户总数的百分比,保留 2 位小数,按百分比降序、contest_id 升序第19题-查询结果的质量和占比-Queries-求每个 query_name 的质量(rating/position 均值)与差评率(rating 小于 3 的占比百分数),保留 2 位第20题-每月交易 I-Transactions-按月份、国家统计总笔数、通过笔数、总金额与通过金额第21题-立即配送食物 II-Delivery-只看每位顾客的第一笔订单,求其中下单当日即送达的订单百分比,保留 2 位小数第22题-游戏玩法分析 IV-Activity-求在首次登录的第二天又登录的玩家占全部玩家的比例,保留 2 位小数A4 Sorting and Grouping 排序与分组7 题
第23题-每位教师所教授的科目种类的数量-Teacher-统计每位教师教授的不同科目数量第24题-查询近30天活跃用户数-Activity-统计截至 2019-07-27 的近 30 天(2019-06-28 起)内每天的活跃用户数(去重)第25题-产品销售分析 III-Sales,Product-对每个产品只取其首次销售年份的记录,返回产品名、年份和价格第26题-超过5名学生的课-Courses-列出选课学生不少于 5 人的课程第27题-求关注者的数量-Followers-统计每位用户的关注者数量,按 user_id 升序第28题-只出现一次的最大数字-MyNumbers-在只出现一次的数字中找最大的,若不存在返回 NULL第29题-买下所有产品的客户-Customer,Product-找出买齐了所有产品的客户 idA5 Advanced Select and Joins 高级查询与连接7 题
第30题-每位经理的直属员工数量-Employees-统计每位经理的直属下属人数及平均年龄(保留 2 位),按 employee_id 升序第31题-员工的直属部门-Employee-只出现在一个部门的员工取该部门,其余取 primary_flag='Y' 的部门第32题-判断三角形-Triangle-判断三边能否构成三角形,能则输出 Yes,否则 No第33题-连续出现的数字-Logs-找出至少连续出现三次的数字,去重输出第34题-指定日期的产品价格-Products-求 2019-08-16 当天各产品的价格,当天前从未调价的产品按默认价 10 输出第35题-最后一个能进入公交车的人-Queue-公交车限重 1000 千克,乘客按 turn 依次上车,求能上车的最后一位乘客姓名第36题-按分类统计薪水-Accounts-把收入分为低(小于 2 万)、平均(2 万至 5 万)、高(5 万及以上)三档,输出三档各自的账户数,没有账户的档为 0A6 Subqueries 子查询7 题
第37题-上级经理已离职的公司员工-Employees-找出工资低于 30000、有经理但该经理已不在员工表中的员工 id,升序输出第38题-换座位-Seat-交换每对相邻座位(1 换 2、3 换 4),若总人数为奇数最后一个不动,要求用 UPDATE 完成第39题-电影评分-MovieRating,Users,Movies-分别找出 2020 年 2 月评分次数最多的用户和该月平均分最高的电影(并列取字典序小的),两列结果纵向拼接第40题-餐馆营业额变动增长-Customer-从第 7 个营业日起,输出每天的日期、近 7 天总营业额和日均(保留 2 位小数)第41题-好友申请 II :谁有最多的好友-RequestAccepted-好友数按双方累计,找出好友最多的人及其数量第42题-2016年的投资-Insurance-对 tiv_2015 与其他保单相同、且位置坐标唯一的保单,求 tiv_2016 总和,保留 2 位小数第43题-部门工资前三高的所有员工-Employee,Department-找出每个部门工资前三高的员工,输出部门名、员工名、工资A7 Advanced String Functions / Regex / Clause 高级字符串函数与正则7 题
第44题-修复表中的名字-Users-把名字整理成首字母大写、其余小写后输出,按 user_id 排序第45题-患某种疾病的患者-Patients-找出所患疾病中含以 DIAB1 开头代码(首代码或后续代码均可)的患者第46题-删除重复的电子邮箱-Person-删除所有重复邮箱的行,只保留每个邮箱 id 最小的那行第47题-第二高的薪水-Employee-查询第二高的不同工资值,若不存在则返回 NULL第48题-按日期分组销售产品-Activities-按日期统计售出产品种数和产品名列表(去重、字典序、逗号分隔),按日期升序第49题-列出指定时间段内所有的下单产品-Products,Orders-统计 2020 年 2 月下单总量不少于 100 的产品名与总件数第50题-查找拥有有效邮箱的用户-Users-筛选合法邮箱:前缀以字母开头,可含字母、数字、下划线、点、横线,域名为 @leetcode.com
没有匹配的题目