使用dense_rank进行排名找到等于3的员工id,注意使用dense_rank,而不是rank。
select *
from employees
where emp_no in (
select b.emp_no
from (
select dense_rank() over(order by hire_date desc) rank_, emp_no
from employees
) b
where b.rank_=3
)
使用limit,offset配合找到倒数第三的日期然后查询。注意要加`distinct`作为限定。
select *
from employees
where hire_date = (
select distinct hire_date
from employees
order by hire_date desc
limit 1 offset 2
)

京公网安备 11010502036488号