[SQL实战]之获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
题目描述
获取当前(to_date=‘9999-01-01’)薪水第二多的员工的emp_no以及其对应的薪水salary
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
));
解题思路
有两种思路,个人认为第一个思路虽然难理解,但是不会存在bug;第二个思路好理解但是可能有问题。
思路1是先根据to_date
条件选出最大的salary
,然后去除最大的salary
后,在剩下的薪水中选出最大的。
思路2是降序排列数组,然后使用limit
偏移一个单位,可是这样默认薪水都不重复。如果最多的薪水有重复的,那么就是错的了。但是这个题目没有重复的。
AC代码
思路1地AC代码
SELECT emp_no, salary FROM salaries WHERE (to_date = '9999-01-01' AND salary IN (SELECT MAX(salary) FROM salaries WHERE (to_date = '9999-01-01' ANDsalary NOT IN (SELECT MAX(salary) FROM salaries WHERE (to_date = '9999-01-01'))))
)
思路2的AC代码
select emp_no,salary from salaries where to_date = '9999-01-01'
order by salary desc limit 1,1;
[SQL实战]之获取当前薪水第二多的员工的emp_no以及其对应的薪水salary相关推荐
- 《数据库SQL实战》获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary
题目描述 获取当前(to_date='9999-01-01')薪水第二多的员工的emp_no以及其对应的薪水salary CREATE TABLE salaries ( emp_no int(11) ...
- 获取当前薪水第二多的员工的emp_no以及其对应的薪水
该文章主要记录在学习SQL的过程,觉得比较好的一个SQL题,作为记录学习. 题目背景: 请你获取薪水第二多的员工的emp_no以及其对应的薪水salary, 若有多个员工的薪水为第二多的薪水,则将对应 ...
- SQL18 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
原题连接: https://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719?tpId=82&&tqId=29770 ...
- 牛客网数据库SQL实战25—— 获取员工其当前的薪水比其manager当前薪水还高的相关信息
牛客网数据库SQL实战25-- 获取员工其当前的薪水比其manager当前薪水还高的相关信息 题目描述 获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date='9999 ...
- [SQL实战]之查找当前薪水排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by
题目描述 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no.薪水salary.last_name以及first_name,不准使用order by CREATE ...
- SQL-18 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no、薪水salary、last_name以及first_name,不准使用order by...
题目描述 查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no.薪水salary.last_name以及first_name,不准使用order by CREATE ...
- 查找薪水第二多的员工基本信息
题目描述查找当前薪水(to_date='9999-01-01')排名第二多的员工编号emp_no.薪水salary.last_name以及first_name,不准 使用 order by CREAT ...
- 数据库SQL实战11_获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date=‘9999-01-01‘, 结果第一列给出员工的emp_no, 第二列给出其manager
题目 获取员工其当前的薪水比其manager当前薪水还高的相关信息,当前表示to_date='9999-01-01', 结果第一列给出员工的emp_no, 第二列给出其manager的manager_ ...
- 【数据库SQL实战】获取员工其当前的薪水比其manager当前薪水还高的相关信息
https://www.nowcoder.com/practice/f858d74a030e48da8e0f69e21be63bef?tpId=82&tqId=29777&rp=0&a ...
最新文章
- 为11.2.0.2 Grid Infrastructure添加节点
- Notepad++使用vs2015主题教程
- linux shell 获取当前正在执行脚本的绝对路径
- Linux下为文件增加列的shell脚本
- Timer的schedule和scheduleAtFixedRate方法的区别解析
- MySQL(2)数据库管理
- XLNet(Generalized Autoregressive Pretraining for Language Understanding) 论文笔记
- arcgis如何连接Oracle,arcgis直连oracle数据库
- Ajax.Net之数据类型
- appium+python 【Mac】Android夜神模拟器
- 如何写一手好 SQL!!!
- 系统架构之服务器架构图
- matlab zmax 光学仿真,基于ZEMAX的光栅干涉仪仿真
- 微软邮箱smtp服务器,微软hotmail免费邮箱申请(5G邮箱容量) 支持pop3、smtp
- ziheng -接小球游戏
- 笔记 :归纳总结 (一)
- Rust 编译模型之殇
- HBase的java代码开发(完整源码)
- 襄阳市2022年高新技术企业申报奖励补贴以及认定条件汇总!
- matlab如何实现动态显示,matlab 坐标图动画,动态显示数据
热门文章
- 可以判断用户打开页面次数吗?_看前端如何单枪匹马实现小程序页面级版本控制...
- python爬虫网络出错怎么办_python爬虫之headers处理、网络超时问题处理
- B - Frogger(最短路之多条最短路径中最大权值的最小值)
- tqdm模块不能单行输出问题
- 基于阿里云服务器使用宝塔面板搭建 Typecho 博客
- Altium AD20删除机械层MECH
- stm32驱动LTC6912程控放大器程序,PGA可编程增益放大器,可调增益运放电路
- ROS与Matlab协同进行运动控制
- leetcode877.StoneGame
- 【MySQL】一条查询语句在MySQL内部的执行过程