按时间排序后取第2大的时间,oracle怎么办

来源:百度知道 编辑:UC知道 时间:2024/06/09 04:12:22
在表中按时间从大到小排序后取第2大的那一行记录,怎么做?
PS:最大的那个时间有可能有2行
最大的时间就是最近的时间,可是最大的时间有可能是2行记录,即两行一样最大时间的

可通过row_number来获取。

如emp表中有如下数据:

现要查询此表中hiredate第二大的时间,可用如下语句:

select t.* from
(select emp.*,row_number() over (order by hiredate) rn from emp) t
where t.rn=2;

查询结果: