文章目录
Leetcode 刷题笔记
1.😄 1412 查找成绩处于中游的学生 40 55.2% 困难
SELECT s.student_id,s.student_name
FROM Student s
LEFT JOIN
(SELECT DISTINCT a.student_id
FROM
(SELECT student_id,
DENSE_RANK() OVER (PARTITION BY exam_id ORDER BY score) AS rk,
DENSE_RANK() OVER (PARTITION BY exam_id ORDER BY score DESC) AS rk_d
FROM Exam) AS a
WHERE a.rk = 1 OR rk_d = 1) AS b ON s.student_id = b.student_id
WHERE b.student_id is null AND s.student_id in (SELECT DISTINCT student_id FROM Exam)
开始用ROW_NUMBER() 好像只通过了9个样例,原因是相同分数,排名不同,把一个最高分的给弄进去了,然后一想马上换dense_rank()就好了,而且发现rank的效率比dense_rank的要低上不少,不知道为什么
😄 | 175 | 组合两个表 | 746 | 73.7% | 简单 | |
---|---|---|---|---|---|---|
😄 | 176 | 第二高的薪水 | 659 | 35.5% | 简单 | |
😄 | 177 | 第N高的薪水 | 324 | 45.9% | 中等 | |
😄 | 185 | 部门工资前三高的所有员工 | 412 | 46.9% | 困难 | |
😄 | 180 | 连续出现的数字 | 340 | 48.9% | 中等 | |
😄 | 184 | 部门工资最高的员工 | 431 | 46.6% | 中等 | |
😄 | 178 | 分数排名 | 470 | 58.8% | 中等 | |
😄 | 196 | 删除重复的电子邮箱 | 246 | 65.3% | 简单 | |
😄 | 262 | 行程和用户 | 266 | 45.8% | 困难 | |
😄 | 181 | 超过经理收入的员工 | 455 | 70.2% | 简单 | |
😄 | 1179 | 重新格式化部门表 | 121 | 62.6% | 简单 | |
😄 | 182 | 查找重复的电子邮箱 | 392 | 79.6% | 简单 | |
😄 | 197 | 上升的温度 | 352 | 52.9% | 简单 | |
😄 | 601 | 体育馆的人流量 | 243 | 47.5% | 困难 | |
😄 | 627 | 变更性别 | 213 | 79.9% | 简单 | |
😄 | 183 | 从不订购的客户 | 364 | 67.6% | 简单 | |
🐶 | 626 | 换座位 | 227 | 67.8% | 中等 | |
🐶 | 571 | 给定数字的频率查询中位数 | 57 | 49.0% | 困难 | |
🐩 | 1097 | 游戏玩法分析 V | 65 | 51.5% | 困难 | |
569 | 员工薪水中位数 | 102 | 55.4% | 困难 | ||
😄 | 596 | 超过5名学生的课 | 193 | 41.7% | 简单 | |
😭 | 1501 | 可以放心投资的国家 | 32 | 59.7% | 中等 | |
🐶 | 1555 | 银行账户概要 | 31 | 41.9% | 中等 | |
😄 | 1141 | 查询近30天活跃用户数 | 40 | 52.1% | 简单 | |
😄 | 620 | 有趣的电影 | 212 | 76.9% | 简单 | |
1127 | 用户购买平台 | 40 | 41.7% | 困难 | ||
😄 | 511 | 游戏玩法分析 I | 64 | 73.4% | 简单 | |
😄 | 574 | 当选者 | 68 | 63.7% | 中等 | |
😄 | 1623 | 三人国家代表队 | 22 | 78.4% | 简单 | |
😄 | 595 | 大的国家 | 167 | 79.1% | 简单 | |
😄 | 512 | 游戏玩法分析 II | 93 | 53.6% | 简单 | |
🐕 | 1264 | 页面推荐 | 55 | 59.0% | 中等 | |
🐶 | 1212 | 查询球队积分全连接union all | 65 | 51.1% | 中等 | |
😄 | 1112 | 每位学生的最高成绩 | 47 | 62.0% | 中等 | |
🐶 | 1045 | 买下所有产品的客户 | 64 | 64.5% | 中等 | |
🐶 | 607 | 销售员 | 57 | 66.8% | 简单 | |
😄 | 597 | 好友申请 I:总体通过率 | 45 | 44.8% | 简单 | |
🐶 | 578 | 查询回答率最高的问题 | 70 | 50.0% | 中等 | |
🐶 | 1211 | 查询结果的质量和占比 | 41 | 65.5% | 简单 | |
579 | 查询员工的累计薪水 | 76 | 43.9% | 困难 | ||
1645 | Hopper Company Queries II | 11 | 43.3% | 困难 | ||
1225 | 报告系统状态的连续日期 | 47 | 55.2% | 困难 | ||
1159 | 市场分析 II | 48 | 48.1% | 困难 | ||
🐶 | 1511 | 消费者下单频率 | 35 | 67.1% | 简单 | |
🐶 | 1454 | 活跃用户 | 46 | 41.7% | 中等 | |
🐶 | 1435 | 制作会话柱状图 | 30 | 63.3% | 简单 | |
:SMILE: | 534 | 游戏玩法分析 III | 86 | 67.3% | 中等 | |
🐶 | 1083 | 销售分析 II | 64 | 52.4% | 简单 | |
😄 | 1069 | 产品销售分析 II | 36 | 82.2% | 简单 | |
😄 | 1571 | 仓库经理 | 22 | 76.7% | 简单 | |
第二页
🐶 | 1511 | 消费者下单频率 | 37 | 67.3% | 简单 | |
---|---|---|---|---|---|---|
😄 | 1468 | 计算税后工资 | 27 | 72.4% | 中等 | |
😄 | 1398 | 购买了产品A和产品B却没有购买产品C的顾客 | 40 | 79.9% | 中等 | |
😄 | 1378 | 使用唯一标识码替换员工ID | 42 | 85.9% | 简单 | |
😄 | 1350 | 院系无效的学生 | 59 | 85.2% | 简单 | |
😄 | 1308 | 不同性别每日分数总计 | 37 | 74.0% | 中等 | |
🐶 | 1193 | 每月交易 I | 44 | 61.5% | 中等 | |
😄 | 534 | 游戏玩法分析 III | 87 | 67.4% | 中等 | |
🐕 | 602 | 好友申请 II :谁有最多的好友 | 55 | 63.4% | 中等 | |
😄 | 586 | 订单最多的客户](https://leetcode-cn.com/problems/customer-placing-the-largest-number-of-orders) | 56 | 75.3% | 简单 | |
😄 | 584 | 寻找用户推荐人 窗口函数贼强!! | 36 | 77.3% | 简单 | |
🐶 | 1321 | 餐馆营业额变化增长 | 49 | 60.2% | 中等 | |
🐕 | 1077 | 项目员工 III窗口函数 dense_rank函数 1,1,1,2 | 61 | 70.9% | 中等 | |
😄 | 1068 | 产品销售分析 I | 40 | 86.1% | 简单 | |
🐩 | 614 | 二级关注者 | 36 | 34.6% | 中等 | |
🐶 | 585 | 2016年的投资 | 60 | 59.1% | 中等 | |
😄 | 580 | 统计各专业学生人数 | 45 | 52.4% | 中等 | |
😄 | 612 | 平面上的最近距离 | 39 | 66.3% | 中等 | |
1757 | Recyclable and Low Fat Products 新 | 100.0% | 简单 | |||
1747 | Leetflex Banned Accounts 新 | 12 | 73.7% | 中等 | ||
1741 | Find Total Time Spent by Each Employee | 6 | 79.1% | 简单 | ||
1731 | The Number of Employees Which Report to Each Employee | 6 | 50.8% | 简单 | ||
😄 | 1729 | 求关注者的数量 | 12 | 66.6% | 简单 | |
🐶 | 1715 | 苹果和橘子的个数 | 14 | 79.9% | 中等 | |
🐶 | 1709 | 访问日期之间最大的空档期 | 15 | 69.8% | 中等 | |
🐶 | 1699 | 两人之间的通话次数least(a,b,c)和greatesta,b,c()找出最小,最大值返回 | 18 | 77.1% | 中等 | |
😄 | 1693 | 每天的领导和合伙人 | 15 | 81.4% | 简单 | |
😄 | 1683 | 无效的推文 | 19 | 88.0% | 简单 | |
😄 | 1677 | 发票中的产品金额 | 14 | 60.9% | 简单 | |
🐶 | 1667 | 修复表中的名字# mysql 字符串函数各种复习 – CONCAT(str1, str2):字符连接函数 – UPPER(str):将字符串改为大写字母 – LOWER(str):将字符串改为小写字母 – LENGTH(str):判定字符串长度 – SUBSTRING(str, a, b):提取字段中的一段,从字符串str的第a位开始提取,提取b个字符 – LEFT(str, n):提取字符串最左边的n个字符 – RIGHT(str, n):提取字符串最右边的n个字符 | 16 | 59.9% | 简单 | |
😄 | 1661 | 每台机器的进程平均运行时间 | 24 | 67.7% | 简单 | |
1651 | Hopper Company Queries III | 11 | 68.7% | 困难 | ||
1635 | Hopper 公司查询 I | 11 | 54.7% | 困难 | ||
🐶 | 1633 | 各赛事的用户注册率 | 12 | 65.2% | 简单 | |
🐩 | 1613 | [找到遗失的ID]with recursive 则是一个递归的查询子句(https://leetcode-cn.com/problems/find-the-missing-ids) | 19 | 70.1% | 中等 | |
🐶 | 1607 | 没有卖出的卖家 | 15 | 55.0% | 简单 | |
🐩 | 1596 | 每位顾客最经常订购的商品 | 19 | 73.7% | 中等 | |
😄 | 1587 | 银行账户概要 II | 24 | 83.3% | 简单 | |
😄 | 1581 | 进店却未进行过交易的顾客 | 23 | 81.3% | 简单 | |
1565 | 按月统计订单数与顾客数 | 17 | 74.9% | 简单 | ||
😄 | 1549 | 每件商品的最新订单 | 22 | 63.2% | 中等 | |
1543 | 产品名称格式修复 产品名称格式修复 | 23 | 52.5% | 简单 | ||
😄 | 1532 | 最近的三笔订单 | 28 | 60.4% | 中等 | |
1527 | 患某种疾病的患者 | 17 | 61.0% | 简单 | ||
1517 | 查找拥有有效邮箱的用户 | 16 | 74.2% | 简单 | ||
1495 | 上月播放的儿童适宜电影 | 24 | 54.5% | 简单 | ||
1485 | 按日期分组销售产品 | 23 | 66.1% | 简单 | ||
1479 | 周内每天的销售情况 | 22 | 59.7% | 困难 | ||
第三页
😄 | 1459 | 矩形面积 | 23 | 58.4% | 中等 | |
---|---|---|---|---|---|---|
🐶 | 1445 | 苹果和桔子 | 30 | 85.9% | 中等 | |
🐶 | 1440 | 计算布尔表达式的值 | 22 | 69.7% | 中等 | |
🐶 | 1421 | 净现值查询 | 21 | 74.9% | 中等 | |
😄 | 1412 | 查找成绩处于中游的学生 | 40 | 55.2% | 困难 | |
1407 | 排名靠前的旅行者 | 41 | 65.9% | 简单 | ||
1393 | 股票的资本损益 | 36 | 86.1% | 中等 | ||
1384 | 按年度列出销售总额 | 25 | 55.1% | 困难 | ||
1369 | 获取最近第二次的活动 | 27 | 60.0% | 困难 | ||
1364 | 顾客的可信联系人数量 | 39 | 66.7% | 中等 | ||
1355 | 活动参与者 | 35 | 65.4% | 中等 | ||
1341 | 电影评分 | 32 | 48.6% | 中等 | ||
1336 | 每次访问的交易次数 | 31 | 41.7% | 困难 | ||
1327 | 列出指定时间段内所有的下单产品 | 42 | 69.4% | 简单 | ||
1322 | 广告效果 | 43 | 59.5% | 简单 | ||
1303 | 求团队人数 | 55 | 81.6% | 简单 | ||
1294 | 不同国家的天气类型 | 49 | 66.9% | 简单 | ||
1285 | 找到连续区间的开始和结束数字 | 32 | 80.3% | 中等 | ||
1280 | 学生们参加各科测试的次数 | 43 | 51.7% | 简单 | ||
1251 | 平均售价 | 66 | 78.0% | 简单 | ||
1205 | 每月交易II | 53 | 47.6% | 中等 | ||
1204 | 最后一个能进入电梯的人 | 47 | 72.2% | 中等 | ||
1194 | 锦标赛优胜者 | 39 | 48.7% | 困难 | ||
1174 | 即时食物配送 II | 36 | 59.0% | 中等 | ||
1173 | 即时食物配送 I | 52 | 75.9% | 简单 | ||
1164 | 指定日期的产品价格 | 44 | 62.5% | 中等 | ||
1158 | 市场分析 I | 40 | 56.0% | 中等 | ||
1149 | 文章浏览 II | 26 | 44.9% | 中等 | ||
1148 | 文章浏览 I | 23 | 72.5% | 简单 | ||
1142 | 过去30天的用户活动 II | 31 | 37.6% | 简单 | ||
1132 | 报告的记录 II | 25 | 39.8% | 中等 | ||
1126 | 查询活跃业务 | 49 | 69.7% | 中等 | ||
1113 | 报告的记录 | 28 | 54.3% | 简单 | ||
1098 | 小众书籍 | 63 | 47.1% | 中等 | ||
550 | 游戏玩法分析 IV | 108 | 44.8% | 中等 | ||
1084 | 销售分析III | 72 | 53.7% | 简单 | ||
1076 | 项目员工II | 54 | 50.8% | 简单 | ||
1075 | 项目员工 I | 53 | 68.8% | 简单 | ||
1070 | 产品销售分析 III | 34 | 48.0% | 中等 | ||
1050 | 合作过至少三次的演员和导演 | 32 | 75.3% | 简单 | ||
619 | 只出现一次的最大数字 | 50 | 47.1% | 简单 | ||
618 | 学生地理信息报告 | 25 | 61.5% | 困难 | ||
615 | 平均工资:部门与公司比较 | 58 | 43.2% | 困难 | ||
613 | 直线上的最近距离 | 49 | 82.2% | 简单 | ||
610 | 判断三角形 | 45 | 67.1% | 简单 | ||
608 | 树节点 | 64 | 67.7% | 中等 | ||
603 | 连续空余座位 | 66 | 68.0% | 简单 | ||
577 | 员工奖金 | 49 | 71.1% | 简单 | ||
570 | 至少有5名直接下属的经理 | 70 | 67.2% | 中等 | ||
- SELECT 从表中筛选出MAX()或其他的,如果出现SELECT 选出来的是[null],而答案是[],可以考虑分组用LIMIT 1 直接选出来
https://leetcode-cn.com/problems/running-total-for-different-genders/submissions/
窗口函数也挺好用的,速度快而且贼短代码
这里是SUM()函数的窗口
3.IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。https://www.runoob.com/mysql/mysql-func-ifnull.html
IFNULL() 函数语法格式为:
IFNULL(expression, alt_value)
- https://leetcode-cn.com/problems/game-play-analysis-iii)