当前位置: 代码迷 >> Oracle管理 >> 怎么利用rownum取得查询出结果,并排过序的后几行数据
  详细解决方案

怎么利用rownum取得查询出结果,并排过序的后几行数据

热度:85   发布时间:2016-04-24 05:51:37.0
如何利用rownum取得查询出结果,并排过序的后几行数据
前几行的数据可以用
SQL code
SELECT *  FROM (SELECT   col_1, col_2            FROM my_table        ORDER BY col_1) WHERE ROWNUM < 35


假如我有67条记录,后34行的数据应该怎样取得?是在排序的情况下

如果不用rownum有其他的方法可以取到吗?

------解决方案--------------------
select col_1, col_2
from 
(SELECT rownum as account, col_1, col_2
FROM my_table
ORDER BY col_1) a 
where account>34
看看行不行
------解决方案--------------------
探讨
select col_1, col_2
from
(SELECT rownum as account, col_1, col_2
FROM my_table
ORDER BY col_1) a
where account>34
看看行不行

------解决方案--------------------
SQL code
SELECT *  FROM (SELECT   col_1, col_2            FROM my_table        ORDER BY col_1) WHERE ROWNUM < 67minusSELECT *  FROM (SELECT   col_1, col_2            FROM my_table        ORDER BY col_1) WHERE ROWNUM < 33
------解决方案--------------------
类似

SQL code
select * from(select a.*,row_number() over(order by object_id) as rn from dba_objects a)where rn>64 and rn<=100
------解决方案--------------------
SQL code
 CREATE TABLE MG_CONT AS    SELECT SYSDATE + LEVEL CONTRACT_ST_DATE FROM DUAL CONNECT BY LEVEL < 68;
------解决方案--------------------
探讨
类似


SQL codeselect * from(
select a.*,row_number() over(order by object_id) as rn from dba_objects a
)where rn>64 and rn<=100

------解决方案--------------------
3楼方法也可以啊