Oracle百万数据查询语句

SELECT *
  FROM (SELECT e.*, ROWNUM rn
          FROM (SELECT id,
                       name,
                       age,
                       birthDate,
                       sex,
                       describe,
                       city,
                       create_by,
                       create_date,
                       update_by,
                       update_date,
                       del_flag
                  FROM t_employee
                 where del_flag = 0
                 order by create_date desc) e
         WHERE ROWNUM <= 1000000)
 WHERE rn > 999980;

 

select id,
       name,
       age,
       birthDate,
       sex,
       describe,
       city,
       create_by,
       create_date,
       update_by,
       update_date,
       del_flag
  from t_employee t1,
       (select rid
          from (select rownum rn, t.rid
                  from (select
                         rowid rid
                          from t_employee
                        where del_flag = 0
                        order by create_date desc) t
                 where rownum <= 1000000)
         where rn > 999980) t2
 where t1.rowid = t2.rid;

 

select *
  from (select *
          from (select id,
                       name,
                       age,
                       birthDate,
                       sex,
                       describe,
                       city,
                       create_by,
                       create_date,
                       update_by,
                       update_date,
                       del_flag,
                       row_number() OVER(ORDER BY create_date desc) AS rn
                  from t_employee) p
         where p.rn > 999980) q
 where rownum < = 20

 http://blog.csdn.net/wacthamu/article/details/8562823

posted @ 2017-09-05 16:00  刘镇平Jasper  阅读(1026)  评论(0编辑  收藏  举报