描述
有一个员工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版权协议,转载请附上原文出处链接和本声明。