MySql 176.第二高的薪水

本文介绍了一种使用MySQL实现的SQL查询方法,旨在找出员工薪资表中第二高的薪水。通过降序排列并去除重复值,结合OFFSET和LIMIT来跳过最高薪水并获取次高的薪水值。同时考虑了当表中没有第二高薪水时返回NULL的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

✌✌✌古人有云,好记性不如烂笔头,千里之行,始于足下,每日千行代码必不可少,每日总结写一写,目标大厂,满怀希望便会所向披靡,哈哈哈!!!✌✌✌

在这里插入图片描述

1、题目描述

在这里插入图片描述

2、解答思路

> 首先将Salary列进行降序,然后用distinct去重,防止有多个薪水一样
> 让后题目要的是第二大的薪水,所以用offset跳过第一条查询结果
> 然后用limit选取第一条查询结果
> 但是这样会有问题,如果表中不存在第二大会返回空表,但题目要求NULL
> 所以再用select语句查询一次刚才的结果,如果存在正常显示
> 如果是空表则返回NULL

3、MySql语言

select
(select distinct Salary as SecondHighestSalary
from Employee 
order by Salary desc
limit 1 offset 1)
as SecondHighestSalary
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海洋 之心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值