【牛客SQL】SQL23 对所有员工的薪水按照salary降序进行1-N的排名

2023-11-04

题目描述

在这里插入图片描述

描述
有一个薪水表salaries简况如下:

在这里插入图片描述

对所有员工的薪水按照salary降序进行1-N的排名,要求相同salary并列且按照emp_no升序排列:

在这里插入图片描述

示例1
输入:
drop table if exists  `salaries` ; 
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));
INSERT INTO salaries VALUES(10001,88958,'2002-06-22','9999-01-01');
INSERT INTO salaries VALUES(10002,72527,'2001-08-02','9999-01-01');
INSERT INTO salaries VALUES(10003,43311,'2001-12-01','9999-01-01');
INSERT INTO salaries VALUES(10004,72527,'2001-12-01','9999-01-01');
复制
输出:
10001|88958|1
10002|72527|2
10004|72527|2
10003|43311|3

题解

做题的做法

运行时间:14ms
超过73.52% 用Sqlite提交的代码
占用内存:3560KB
超过17.57%用Sqlite提交的代码

SELECT s1.emp_no, s1.salary, (
    SELECT COUNT(DISTINCT s2.salary) + 1
    FROM salaries s2
    WHERE s2.salary > s1.salary
) AS t_rank
FROM salaries s1
ORDER BY salary DESC
;

MySQL实际还可以

SELECT emp_no, salary,
DENSE_RANK() OVER(ORDER BY salary DESC) AS t_rank
FROM salaries
ORDER BY t_rank, emp_no;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【牛客SQL】SQL23 对所有员工的薪水按照salary降序进行1-N的排名 的相关文章

随机推荐

  • 单词替换

    import java util ArrayList import java util Arrays import java util Collections import java util HashSet import java uti
  • RWA(现实世界资产):架起从DeFi到TradFi的桥梁

    三大支柱 资产托管 流动性和信贷协议 本文来自 thetie 原文作者 Vaish Puri 由 Odaily 星球日报译者 Katie 辜编译 DeFi 正在慢慢扩大加密货币的业务边界 并在现实世界中产生影响 随着越来越多的资产被代币化
  • LQR控制器——简单实现与仿真

    对B站一位良心up主的视频学习总结 安利 https www bilibili com video BV1RW411q7FD spm id from trigger reload 对于可镇定的线性系统 x A x B u dot x Ax
  • Linux安装多版本node

    进入node官网目录 https nodejs org dist 可以看到不同版本的node安装包列表 选择你需要的系统版本 wget 对应安装包的网址 这个指令是下载安装包 解压安装包 tar xvf 安装包名 4 把解压后的文件移动到你
  • 【数据库】Mysql的REPLACE()函数替换字符串

    mysql中replace函数直接替换mysql数据库中某字段中的特定字符串 用起来非常的方便 REPLACE str from str to str 第一个字符串str中 将from str替换为to str 回到上一篇文章的问题 假设有
  • 一文讲解图像插值算法原理!附Python实现

    Datawhale学习 作者 姚童 Datawhale优秀学习者 寄语 本文梳理了最近邻插值法 双线性插值法和三次样条插值法的原理 并以图像缩放为例 对原理进行了C 及Python实现 在图像处理中 几何变换是将一幅图像映射到另外一幅图像内
  • WebLogic 反序列化漏洞(CVE-2019-2890)

    一 漏洞介绍 2019年10月15日 Oracle官方发布了2019年10月安全更新公告 其中包含了一个可造成RCE远程任意代码执行的高危漏洞 漏洞编号为CVE 2019 2890 Weblogic在利用T3协议进行远程资源加载调用时 默认
  • python shutil模块(其中详细介绍shutil.copytree )

    shutil 是 Python 标准库中的一个模块 提供了许多文件和文件夹操作的函数 它可以用于复制 移动 重命名和删除文件 以及创建 复制和删除文件夹等操作 你可以使用import shutil导入该模块 并使用其中的函数来执行相关操作
  • linux 查看文件 可翻页,Linux如何读取文件,如何翻页

    linux读取文件的命令还是比较多的 例如 cat more less head tail cat命令操作 cat 命令用于连接文件并打印到标准输出设备上 语法格式 cat AbeEnstTuv help version fileName
  • JAVA必背面试题和项目面试通关要点(带答案)

    一 数据库 1 常问数据库查询 修改 SQL查询包含筛选查询 聚合查询和链接查询和优化问题 手写SQL语句 例如四个球队比赛 用SQL显示所有比赛组合 举例2 选择重复项 然后去掉重复项 数据库里的密码如何加密 md5 1 数据库的密码加密
  • VJ 4 F - ABC087C AtCoder - 3881(dp)

    Problem Statement We have a 2 N grid We will denote the square at the i th row and j th column 1 i 2 1 j N as i j You ar
  • Idea快捷键(Windows系统)

    Idea快捷键 1 生成get set toString 构造方法 重写父类方法等 快捷键 Alt Insert 在进行set方法时 可以选择链式编程 2 复制一份当前代码 快捷键 Ctrl D 3 自动补全变量名 快捷键 Alt Ente
  • RData的保存与加载

    最好的存储R中数据的格式是保存为 RData RData 也称为 rda文件 是R专属的文件 可以保存海量文件 rds Rds files store a single R object 和 Rdata 也称为 rda 文件 可以用于以R原
  • 经典排序算法总结

    简介 java系列技术分享 持续更新中 初衷 一起学习 一起进步 坚持不懈 如果文章内容有误与您的想法不一致 欢迎大家在评论区指正 希望这篇文章对你有所帮助 欢迎点赞 收藏 留言 更多文章请点击 文章目录 一 冒泡排序 1 1 排序原理 1
  • C语言数组介绍(详解)

    数组目录 数组概念 一维数组 维数组的创建和初始化 一维数组的基本创建 一维数组的初始化 数组的类型 一维数组的使用 数组下标 数组元素的打印 数组的输入 一维数组内存中的储存 如何用sizefo计算数组元素个数 二维数组 二维数字的概念
  • 如何用安装启动盘启动计算机,用u盘启动电脑进入系统安装 如何进入启动u盘安装系统...

    U盘是现在安装系统最常用到的工具 而且大部分的电脑都支持U盘启动 通过启动热键或BIOS设置都可以进入U盘启动 下面介绍一下如何进入启动u盘安装系统 用u盘启动电脑进入系统安装步骤阅读 1 将U盘插在电脑的USB接口 开机并不断按下启动U盘
  • 神经网络参数优化总结

    神经网络参数优化总结1 一般而言 对神经 网络的调节包括 学习速率 Momentum 动量梯度下降法 的参数beta Adam优化算法的参数 beta1 beta2 神经网络层数 不同层中隐藏单元数量 学习率衰减等 1 对于学习率 1 gi
  • 【Cocos Creator 3D快捷方式】Cocos Creator 3D场景基本操作与快捷方式

    3D场景记住以下操作就可以了 a 双击节点 让节点来到我们视野中央 要看哪个物体 我们只要双击这个节点 b 拉远拉近 鼠标滚轮滚动 拉远 拉近操作 c 按住alt 鼠标左键按下 拖动 360度来查看我们的节点模型 d 鼠标右键 wsad 这
  • unity Editor下批量设置材质球中的贴图部分:

    批量设置材质球中Main Maps部分贴图包含 Albedo Metallic Nomap Occlusion 脚本存放位置 放在在Editor目录之下 点击 window 之下的AddMaterialBall 资源存放位置 所有的材质球和
  • 【牛客SQL】SQL23 对所有员工的薪水按照salary降序进行1-N的排名

    题目描述 描述 有一个薪水表salaries简况如下 对所有员工的薪水按照salary降序进行1 N的排名 要求相同salary并列且按照emp no升序排列 示例1 输入 drop table if exists salaries CRE