Leetcode-数据库-175

2023-10-30

第二高的薪水

我第一次尝试:
SELECT salary AS SecondHighestSalary
FROM Employee
ORDER BY salary DESC
LIMIT 1,1

根据salary降序,然后取第二个,但是这有一个问题,就是如果数据少于两个,就会报错
在这里插入图片描述
错误显示,当表中数据只有一条时,返回了[],预期是得到[null]
意思是,如果没有第二高的薪水,应该给返回一条数据,这条数据是null
但是我的方法返回了0条数据。所以算我不对。

对于这个问题,DataGrip和Navicat的表现完全不同。DataGrip可以清楚地知道,返回的数据是null还是无数据。而Navicat不管是null还是无数据,都是一样的。建议使用DataGrip。

方法1:
select (
select DISTINCT Salary
from Employee
order by Salary DESC
limit 1,1)
as SecondHighestSalary;

distinct是为了去重,因为题目要求第二高的薪水,意思是要去重的。
注意order by 默认是升序

方法2:
select max(Salary) as SecondHighestSalary
from Employee
where Salary < (
select max(Salary) from Employee
);

先找到最大值,然后再从小于最大值的集合里找到最大值,就是第二大的了

方法3:
select
ifnull((select distinct Salary from Employee order by Salary desc limit 1,1),null) as SecondHighestSalary;

ifnull方法,如果参数1是null,那就返回null

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

Leetcode-数据库-175 的相关文章

随机推荐

  • Activity 的启动分析 ( 9.0 )

    Activity 的启动系统已经做了很多的封装 使得我们在开发的时候不用去关注底层的东西 需要一句代码就可以搞定拉起一个Activity Intent intent new Intent this TestActivity class st
  • Excel如何制作动态模糊匹配的下拉菜单?

    之前给大家分享了如何使用函数制作模糊匹配的下拉菜单 但函数那家伙的特点是小巧灵 数据量稍大 效率就比较差了 众所周知 在Excel里 高效率解决复杂问题 还是得靠又傻又愣的VBA 今天就再给大家分享一下 如何使用VBA制作更好用的动态模糊匹
  • python的label显示图片,如何在标签中显示图片和文本(PyQt)

    我需要在标签中显示图片和文本 这是我的代码 import sys from PyQt5 QtCore import from PyQt5 QtGui import from PyQt5 QtWidgets import class MyLa
  • 机械臂编程_建立自己的机械臂-编程

    机械臂编程 现在 手臂已经组装好了 是时候将其提升到一个新的水平 现在是释放野兽并完全控制整个机器人手臂的时候了 在这篇文章的结尾 您应该对如何对该机械臂进行编程以完成您想要的事情有一个想法 要了解我如何到达这里 请访问我以前的文章 该文章
  • Kubernetes 工作负载控制器Deployment和Replicaset

    Deployment 介绍 管理Pod和ReplicaSet 具有上线部署 副本设定 滚动升级 回滚等功能 提供声明式更新 例如只更新一个新的Image 应用场景 网站 API 微服务 Deployment 使用流程 项目生命周期 Depl
  • SpringCache入门

    1 简单介绍 Spring Cache 是 Spring 提供的一整套的缓存解决方案 虽然它本身并没有提供缓存的实现 但是它提供了一整套的接口和代码规范 配置 注解等 这样它就可以整合各种缓存方案了 比如 Redis Ehcache 我们也
  • java 对象获取堆_【性能优化】面试官:Java中的对象和数组都是在堆上分配的吗?...

    写在前面 从开始学习Java的时候 我们就接触了这样一种观点 Java中的对象是在堆上创建的 对象的引用是放在栈里的 那这个观点就真的是正确的吗 如果是正确的 那么 面试官为啥会问 Java中的对象就一定是在堆上分配的吗 这个问题呢 看来
  • 单元测试方法总结

    1 引言 应用系统的实施代码构建完成之后 并不代表项目已经结束 至少还有系统测试 部署以及性能调优等工作需要完成 测试的目的是检验开发结果是否满足规定需求 测试时保证软件质量的重要手段 是软件开发不可缺少的组成部分 虽然测试是一件乏味的工作
  • Mysql查询字符串中某个字符串出现的次数

    目录 1 查单个字符出现的次数 2 查多个字符出现的次数 3 函数讲解 1 查单个字符出现的次数 比如我想查how do you do 字符串当中出现d的次数 第一眼看上去有点懵 首先mysql并没有直接计算出现字符次数的函数 所以才使用了
  • React/React Native之状态机原理

    在讲React React Native状态机原理之前 先让大家看一个春哥用React编写的小案例的网页效果图 当文本框中的内容发生变化时 会将文本框中的内容同步输出 按照我们之前Android和iOS的思维 当文本框中内容发生变化时 它会
  • LeetCode 426. 将二叉搜索树转化为排序的双向链表

    将一个二叉搜索树就地转化为一个已排序的双向循环链表 可以将左右孩子指针作为双向循环链表的前驱和后继指针 为了让您更好地理解问题 以下面的二叉搜索树为例 我们希望将这个二叉搜索树转化为双向循环链表 链表中的每个节点都有一个前驱和后继指针 对于
  • 1. 两数之和

    两数之和 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不能重复出现 你可
  • 白嫖免费版gpt与wetab插件的使用

    目录 网址 如何使用 wetab 介绍wetab 怎么获得这个插件 使用效果 网址 1 wetab网站 chatgpt 免费 不需要账号 不需要翻墙 2 gpt镜像网站 https chatbot theb ai chat 1002 免费
  • [前端css-4] 实现粒子button按钮

    前端css 4 实现粒子button按钮 1 效果展示 效果预览 2 知识点 1 position 相对定位 绝对定位 2 伪类 active hover 3 animation 动画 3 源代码
  • Linux查看文件夹大小的相关命令

    linux的 du 命令 1 简介 du show disk useage 查看磁盘使用情况 2 语法 du abcDhHklmsSx L lt 符号连接 gt X lt 文件 gt block size exclude lt 目录或文件
  • Spring对象初始化赋值的三种方式

    第一种
  • centos7纯净化系统初始化安装配置基本功能

    配置网络信息 首先把你的虚拟机网络配置成net或者桥接模式 根据你的环境而定 通过ip ad 命令查看你使用的网卡名称 比如我的是ens33 查看网卡配置文件信息 vi etc sysconfig network scripts ifcfg
  • Touch 电容式触摸按键 触摸按键PCB设计参考

    电容式触摸按键设计应用参考 电容式触摸按键美观时尚 与传统的机械按键相比 具有寿命长 功耗小 成本低 体积小 持久耐用等优点 只要轻轻触碰就可实现开关控制 量化调节甚至是方向控制 颠覆了传统意义上的机械按键 现在电容式触摸按键已经广泛应用于
  • import nvidia_smi标红解决办法

    pip install nvidia ml py3 i http pypi douban com simple trusted host pypi douban com
  • Leetcode-数据库-175

    第二高的薪水 我第一次尝试 SELECT salary AS SecondHighestSalary FROM Employee ORDER BY salary DESC LIMIT 1 1 根据salary降序 然后取第二个 但是这有一个