查找入职员工时间排名倒数第三的员工所有信息
现有题目描述
有一个员工employees表简况如下:
emp_no | birth_date | first_name | last_name | gender | hire_date |
10001 | 1953-09-02 | Georgi | Facello | M | 1986-06-26 |
10002 | 1964-06-02 | Bezalel | Simmel | F | 1985-11-21 |
10003 | 1959-12-03 | Parto | Bamford | M | 1986-08-28 |
10004 | 1954-05-01 | Christian | Koblick | M |
1986-12-01 |
请你查找employees里入职员工时间排名倒数第三的员工所有信息,以上例子输出如下:
emp_no | birth_date | first_name | last_name | gender | hire_date |
10001 | 1953-09-02 | Georgi | Facello | M | 1986-06-26 |
注意:可能会存在同一个日期入职的员工,所以入职员工时间排名倒数第三的员工可能不止一个。
解题思路
1、利用LIMIT对日期进行降序排列 取第三个日期的数据
2、利用dense_rank()函数取排名第三的函数
方法一:
SELECT *
FROM employees
WHERE hire_date = (SELECT DISTINCT hire_date -- 注意对日期进行去重FROM employeesORDER BY hire_date DESC -- 倒序LIMIT 1 OFFSET 2 -- 去掉排名倒数第一第二的时间,取倒数第三
);
方法二:
select emp_no ,birth_date ,first_name ,last_name ,gender,hire_date
from(select *,dense_rank() over(order by hire_date desc)id from employees) a
where id=3
此处有个小的知识点:
rank():跳跃排序;
dense_rank():连续排序;
row_number():没有重复值的排序(记录相等也是不重复的)可以进行分页使用。
个人公众号:数分小讲堂
查找入职员工时间排名倒数第三的员工所有信息相关推荐
- SQL-2 查找入职员工时间排名倒数第三的员工所有信息
题目描述 查找入职员工时间排名倒数第三的员工所有信息 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date N ...
- 牛客网SQL数据库实战之查找入职员工时间排名倒数第三的员工所有信息
题目描述 查找入职员工时间排名倒数第三的员工所有信息 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date N ...
- 【牛客sql实战2】查找入职员工时间排名倒数第三的员工所有信息
题目描述 查找入职员工时间排名倒数第三的员工所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天 CREATE TABLE `employees` ( `emp_no` int(11 ...
- 牛客 SQL:查找入职员工时间排名倒数第三的员工所有信息
题目:查找入职员工时间排名倒数第三的员工所有信息 代码: SELECT * FROM employees WHERE hire_date = (SELECT hire_date FROM employ ...
- SQL刷题——查找入职员工时间排名倒数第三的员工所有信息
题目 牛客题霸-SQL篇 SQL2 查找入职员工时间排名倒数第三的员工所有信息 思路 使用排名函数按入职时间降序排序,"入职时间排名倒数第三"即为rank = 3. 注意 排名函数 ...
- 牛客网之SQL-2:查找入职员工时间排名倒数第三的员工所有信息
牛客网之SQL-2:查找入职员工时间排名倒数第三的员工所有信息 1.题目 2.题解 3.知识点总结 题目链接: link. 1.题目 2.题解 select * from employees orde ...
- SQL实战--(查找入职员工时间排名倒数第三的员工所有信息)
有一个员工employees表简况如下: 请你查找employees里入职员工时间排名倒数第三的员工所有信息,以上例子输出如下: 开始有难度 思考1.需要寻找的是hire_date 为倒数第三的员工信 ...
- 【刷题】数据库SQL实战 [SQL02] - 查找入职员工时间排名倒数第三的员工所有信息
题目地址 点击跳转 题目描述 有一个员工employees表简况如下: 建表语句如下: CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `b ...
- 牛客题霸 SQL2 查找入职员工时间排名倒数第三的员工所有信息
https://www.nowcoder.com/practice/ec1ca44c62c14ceb990c3c40def1ec6c 解决方案 SELECT * FROM employees ORDE ...
- 《数据库SQL实战》查找入职员工时间排名倒数第三的员工的所有信息
题目描述:查找入职员工时间排名倒数第三的员工所有信息 CREATE TABLE employees ( emp_no int(11) NOT NULL, birth_date date NOT NUL ...
最新文章
- Java IO框架总揽--ObjectInputStream ObjectOutputStream源码解读
- matlab 状态估计,基于_当前_统计模型的目标状态估计MATLAB 实现
- 微型计算机所组装的流程图是,计算机、微型计算机的组成及工作过程.ppt
- PHP7实战开发简单CMS内容管理系统(11)批量删除栏目数据
- 私有网络解决方案Start9 Labs完成120万美元融资,以推动其硬件Embassy后续发展
- CleanCodeHandbook Chapter 3: Linked List(20-24)
- BootStrap基本模板
- 网络工程师的机会在哪里
- 公安交管网服务器维护,交管网总是维护
- 论文中的三线表绘制(word)
- 计算机主板纽扣电池缺电,主板的纽扣电池没电了怎么更换
- word文档里面怎样自动生成目录
- c++ 加载dll 和 生成dll
- SAP中Exchange rate type EURX到底干嘛用的
- SSH 端口转发与 SOCKS 代理
- 凛冬的寒风,吹开了电动车的遮羞布
- echarts地图城市坐标
- mysql COMMENT字段注释,表注释使用(转)
- onlyoffice 安装、测试、打包、部署
- 2021年全球开关收入大约4944.1百万美元,预计2028年达到6146.3百万美元