SQL2 查找入职员工时间排名倒数第三的员工所有信息

描述

有一个员工employees表简况如下:

请你查找employees里入职员工时间排名倒数第三的员工所有信息,以上例子输出如下:

注意:可能会存在同一个日期入职的员工,所以入职员工时间排名倒数第三的员工可能不止一个。

/*
第一种方法:没有同一天入职的人,利用order by 和 limit 
(LIMIT 2,1 的意思: SQL 中,行号是从 0 开始的。所以 LIMIT 2,1)
*/

select * from employees order by hire_date desc limit 2,1



/*
第二种方法:存在同一天入职的人,使用窗口函数dense_rank
 */

select emp_no,birth_date,first_name,last_name,gender,hire_date 
    from 
    (
       select e.*,
       dense_rank() over( order by e.hire_date desc) as rk 
       from employees e 
    ) emp
where emp.rk = 3;
   


版权声明:本文为qq_28841515原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。