当前位置: 首页 > news >正文

LeetCode---SQL刷题6

目录:

      • 1.177. 第N高的薪水
      • 2.178. 分数排名
      • 3.180. 连续出现的数字
      • 4.181. 超过经理收入的员工

1.177. 第N高的薪水

在这里插入图片描述

SQL语句如下:

CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT
BEGIN
SET N=N-1;
  RETURN (
      # Write your MySQL query statement below.
      SELECT DISTINCT salary FROM Employee 
      ORDER BY salary DESC 
      LIMIT N,1
  );
END

备注:对数据进行排序并去重,然后通过LIMIT来获取用户需要的数据。

2.178. 分数排名

在这里插入图片描述

SQL语句如下:

  • 解题1
SELECT s1.score,
(SELECT COUNT(DISTINCT s2.score) FROM Scores  s2 WHERE s2.score  >= s1.score)
AS 'rank' 
FROM Scores s1
ORDER BY s1.score  DESC
  • 解题2
SELECT score,DENSE_RANK() OVER (
        ORDER BY score  DESC
    ) AS 'rank' 

FROM Scores 

备注:解题1中未使用排名函数,其中取别名的时候不能直接使用rank因为存在rank函数,所以用字符表示,解题2中使用排名函数要求MySQL环境在MySQL8.0及以上,关于DENSE_RANK()的说明,请参照这篇博文https://www.begtut.com/mysql/mysql-dense_rank-function.html,其中未使用RANK()和ROW_NUMBER()函数,因为只有DENSE_RANK()函数才是并列连续排序,关于RANK,DENSE_RANK和ROW_NUMBER三者的区别你可以通过这篇博文https://blog.csdn.net/u011726005/article/details/94592866进行学习。

3.180. 连续出现的数字

在这里插入图片描述

SQL语句如下:

  • 解题1
SELECT DISTINCT num   AS ConsecutiveNums FROM Logs
WHERE (id+1,num) IN (SELECT * FROM Logs)
AND (id+2,num) IN  (SELECT * FROM Logs)
  • 解题2
SELECT DISTINCT l1.num   AS ConsecutiveNums FROM Logs l1,Logs l2,Logs l3
WHERE l1.id =l2.id - 1 AND l2.id = l3.id -1 AND l1.num = l2.num AND l2.num = l3.num

4.181. 超过经理收入的员工

在这里插入图片描述
SQL语句如下:

  • 解法1
SELECT 
e1.name  
AS Employee 
FROM Employee e1,Employee e2 
WHERE e1.managerId =e2.id AND e1.salary > e2.salary 
  • 解法2
SELECT 
e1.name  
AS Employee 
FROM Employee e1
LEFT JOIN Employee e2 ON e1.managerId =e2.id  
WHERE e1.salary > e2.salary 

相关文章:

  • React知识总结✨
  • 一周时间深扒事务 总结代码演示篇 拿捏事务
  • 剑指offer79-87二进制枚举、回溯
  • 《Coding Monkey的自我修养》之MyBatis批量插入数据的三种方法
  • Windows应急响应信息采集工具
  • 舵机调试上位机
  • 瑞吉外卖 —— 3、员工管理
  • 走到上市前夕,叮当健康如何勾画“医药检险”蓝图?
  • 批量条件赋值、文本字段计算常用表达式
  • 计算机毕业论文Java项目源码下载学生宿舍管理系统|寝室管理
  • 分子动力学后处理自编程系列(2)------聚合物回转半径
  • 剑指offer57-61排序-堆
  • 数据⼀致性模型有哪些?
  • 【2023灵动股份笔试题】~ 题目及参考答案
  • 通过分箱对连续特征离散化,以提高线性模型的表现
  • 2019.2.20 c++ 知识梳理
  • Bytom交易说明(账户管理模式)
  • JavaScript的使用你知道几种?(上)
  • JavaWeb(学习笔记二)
  • linux安装openssl、swoole等扩展的具体步骤
  • MQ框架的比较
  • mysql 数据库四种事务隔离级别
  • PAT A1120
  • SQLServer之索引简介
  • ViewService——一种保证客户端与服务端同步的方法
  • vue-router 实现分析
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 大快搜索数据爬虫技术实例安装教学篇
  • 聊聊flink的BlobWriter
  • 什么是Javascript函数节流?
  • 因为阿里,他们成了“杭漂”
  • PostgreSQL之连接数修改
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • #在 README.md 中生成项目目录结构
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)SpringCloud 整合Python
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (4) PIVOT 和 UPIVOT 的使用
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (八)Flask之app.route装饰器函数的参数
  • (超简单)构建高可用网络应用:使用Nginx进行负载均衡与健康检查
  • (六)激光线扫描-三维重建
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net core 6 集成和使用 mongodb
  • .net wcf memory gates checking failed
  • .NetCore项目nginx发布
  • .NET连接MongoDB数据库实例教程
  • .NET面试题(二)
  • .Net中间语言BeforeFieldInit
  • /bin/bash^M: bad interpreter: No such file or directory
  • @取消转义
  • [20140403]查询是否产生日志