文巾解题 176. 第二高的薪水
1 题目描述
2 解题思路
2.1 用最基础的SQL操作实现
SELECT MAX(Salary) as SecondHighestSalary
FROM ( SELECT SalaryFROM Employee eWHERE e.Salary <> (SELECT MAX(Salary)FROM Employee e1)) as TOTAL
从内循环到外循环的顺序:
找到最高的薪水——把最高的薪水去掉——在剩下的薪水里面找最高的薪水
2.2 LIMIT子句+子查询
将不同的薪资按降序排序,然后使用 LIMIT
子句获得第二高的薪资。
LIMIT子句用法见数据库笔记: SQL_刘文巾的博客-CSDN博客 3.9.1小节
SELECT DISTINCTSalary AS SecondHighestSalary
FROMEmployee
ORDER BY Salary DESC
LIMIT 1 OFFSET 1
SQL 排序见数据库笔记: SQL_刘文巾的博客-CSDN博客 3.8小节
但是!上面的SQL会报错!!
为表格中可能只有一项记录。为了克服这个问题,我们可以将其作为一个子查询。那么如果不存在的话,外查询出来的结果是NULL。
SELECT(SELECT DISTINCTSalaryFROMEmployeeORDER BY Salary DESCLIMIT 1 OFFSET 1) AS SecondHighestSalary
2.3 SQL+IFNULL
解决 “NULL” 问题的另一种方法是使用 “IFNULL” 函数
IFNULL使用方法见数据库笔记: SQL_刘文巾的博客-CSDN博客 3.9.4节
SELECTIFNULL((SELECT DISTINCT SalaryFROM EmployeeORDER BY Salary DESCLIMIT 1 OFFSET 1),NULL) AS SecondHighestSalary
文巾解题 176. 第二高的薪水相关推荐
- LeetCode数据库 176. 第二高的薪水
176. 第二高的薪水 SELECT IFNULL( # 没有返回NULL(SELECT DISTINCT(Salary) FROM Employee # 选取不同的薪资ORDER BY Salary ...
- 176. 第二高的薪水(SQL中的ifnull函数和limt1,1的使用)
176. 第二高的薪水 # Write your MySQL query statement below Select ifnull((SELECT distinct salaryfrom Emplo ...
- leecode:176. 第二高的薪水
题目描述 Employee 表: +-------------+------+ | Column Name | Type | +-------------+------+ | id | int | | ...
- 【LeetCode】176.第二高的薪水
176.第二高的薪水 编写一个 SQL 查询语句,获取Employee表中第二高的薪水(Salary). 用到的表和数据SQL: Create table If Not Exists Employee ...
- LeetCode 176 第二高的薪水
SQL架构 Employee 表: +-------------+------+ | Column Name | Type | +-------------+------+ | id | int | ...
- 【领扣leetcode数据库】176.第二高的薪水
题目描述 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 ...
- 176. 第二高的薪水
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 | 100 ...
- LeetCode 176. 第二高的薪水
题目 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) . +----+--------+ | Id | Salary | +----+--------+ | 1 | ...
- 【leetcode/力扣】176.第二高的薪水
文章目录 题目 一.大概思路 二.代码实现 总结 题目 一.大概思路 查第二高的薪水,一般看这个题目就觉得ORDER BY 然后DESC从高高低就行了,然后LIMIT 1 OFFSET 1 就能查到第 ...
最新文章
- 百万级访问量网站的技术准备工作[转帖]
- 「日常训练」 Mike and Fun (CFR305D2B)
- 11 FI配置-财务会计-定义分类账和货币类型的设置
- 使用C#登录带验证码的网站
- 微信小程序项目源代码SSM英语学习平台
- 《Android框架揭秘》——2.2节搭建Android平台编译环境
- 分享CFA二级优质复习方法!
- 操作系统-信号量机制;用信号量机制实现进程互斥、同步、前驱关系
- 一阶电路暂态响应的结果分析。_第七讲 线性电路的过渡过程分析一
- 如何挑选无线路由器?
- Object C基础
- '与或非' 和 逻辑 '与或' 运算
- Star CCM+ 案例 - 旋风分离器 (cyclone separator)-2 生成网格
- C语言实现简单的电梯控制系统
- 使用PyTorch Geometric构建自己的图数据集
- 问题七:vue+ts The left-hand side of an assignment expression may not be an optional property?
- e-人事管理系统-招聘管理-人才库
- 电商用户行为数据分析实战(MySQL +PowerBI)
- 墨水屏桌牌--会议室新应用
- 【二阶魔方还原】第十次OJ的总结
热门文章
- HDU 2836 (离散化DP+区间优化)
- 检查单 2015-05-15-01
- PAT甲级1072 Gas Station (30 分):[C++题解]dijkstra算法、最短路
- 李永乐线性代数手写笔记-特征值和特征向量
- ubuntu 使用ccache加快linux内核编译速度
- 软件生成目录没有图框_图纸目录和编号
- python才不会从入门到放弃_一步一步理解 python web 框架,才不会从入门到放弃 -- 启程出发...
- android 固定大小数组,android-Kotlin中的最大数组大小
- java js 截取字符串,js截取字符串的三种方法
- python监听udp端口_python检测远程udp端口是否打开