Oracle查詢前100萬條資料

ZHOU_VIP發表於2018-04-04

Oracle不支援select top語句,在Oracle中經常是用order by跟rownum

select 列名1 ...列名n from
(
select 列名1 ...列名n 
   from 表名 order by 列名1
)
where rownum <=N(抽出記錄數)

order by rownum asc

如:按姓名排序取出前十條資料

select id,name from (select id,name from student order by name) where rownum<=10 order by rownum asc

查詢車輛表前100萬條資料(按照id排序,主鍵id是Number型別):

select ID,
       CASEID,
       PARTYID,
       VEHICLENO,
       TAGCOLOR,
       TCERTIFICATIONCODE,
       RTCISSUER,
       ROUTINENO,
       VEHICLEBRAND,
       VEHICLETYPEID,
       OWNERUNIT,
       OWNERUNITTYPEID,
       DRIVINGSTATEID,
       INSURANCECOMPANYID,
       UPDATETIME,
       UPDATEACCOUNTID,
       TAGEXCEPTIONTYPEID,
       VEHICLEINDENTIFYID,
       REGISTERTIME,
       INSURANCENO,
       WEIGHT,
       APPLYHEIGHT,
       APPLYWIDTH,
       APPLYLENGTH,
       BASICCODEID
  from (select ID,
               CASEID,
               PARTYID,
               VEHICLENO,
               TAGCOLOR,
               TCERTIFICATIONCODE,
               RTCISSUER,
               ROUTINENO,
               VEHICLEBRAND,
               VEHICLETYPEID,
               OWNERUNIT,
               OWNERUNITTYPEID,
               DRIVINGSTATEID,
               INSURANCECOMPANYID,
               UPDATETIME,
               UPDATEACCOUNTID,
               TAGEXCEPTIONTYPEID,
               VEHICLEINDENTIFYID,
               REGISTERTIME,
               INSURANCENO,
               WEIGHT,
               APPLYHEIGHT,
               APPLYWIDTH,
               APPLYLENGTH,
               BASICCODEID
          from TC_VEHICLE
         order by id)
 where rownum <= 1000000
 order by id asc

相關文章