任何人都可以帮忙,如何从oracle中的表中确切地检索第二行?
答案 0 :(得分:11)
由于表中的行本质上是无序的,因此“第一”和“第二”的概念要求您指定某种强制执行的方式(即ORDER BY子句)。最简单的方法是使用分析函数
SELECT *
FROM (SELECT a.*,
row_number() OVER (ORDER BY some_column) rn
FROM your_table a)
WHERE rn = 2;
您也可以使用ROWNUM,但需要额外的嵌套级别
SELECT *
FROM (SELECT b.*, rownum rn
FROM (SELECT *
FROM your_table a
ORDER BY some_column) b
WHERE rownum <= 2)
WHERE rn > 1
答案 1 :(得分:-5)
感谢您的回答,现在我找到了解决方案,
select * from
(select rownum rn,column1,column2,...,columnn from tablename)
where
rn=2
现在您可以查看并发布您的宝贵意见。