SELCET TOP n在Oracle中的實現

2021-09-05 17:43:44 字數 869 閱讀 8797

聽說sql server和mysql中有top關鍵字,可以返回排序記錄的前n條記錄,如select top 10 * from table_name order by col_name,我想oracle也必定有類似的功能,只是oracle沒有top關鍵字,而是使用rownum關鍵字。

to retrieve the top n records from a query, you can use the following syntax:

select * 

from (your ordered query) alias_name 

where rownum <= rows_to_return

order by rownum;

按照上邊的語法,寫出如下的查詢語句:

select * from (select rownum from gzl_流程流轉狀態  order by 流程例項編號 ) kk where rownum<=10 order by rownum;

即將 gzl_流程流轉狀態 表按流程例項編號排序後再返回其前10行,要返回最後10行只需要降序排序即可,這一點很容易想到。kk是子查詢的別名,也可以不寫。

select   title, art_id, reader_count

from (select   title, art_id, reader_count

from article

where (sys_cat <> 'news') and (eff_status = 'a')

order by reader_count desc)

where (rownum <= 3)

order by rownum asc

mybatis批量insert到Oracle資料庫

1 使用mybatis的foreach語法 private static void listinsert system.out.println 60萬條耗時 system.currenttimemillis start 對應的 sql語句 insert into aop trade log id,b...

delphi通過UniDAC直連oracle資料庫

1.通過uniquery查詢資料 uniquery.close uniquery.sql.clear uniquery.sql.text select from abc uniquery.open 出現的問題 先使用uniquery查abc表,再用uniquery查d表,查完程式直接死掉。解決辦法 ...

ubuntu通過docker安裝oracle11g

oracle在linux平台上的安裝是很繁瑣的一件事情,不僅需要修改很多的配置檔案,步驟繁瑣,而且還不一定能成功,有極大的機率在圖形介面卡死,或者某個指令碼執行失敗。通過docker安裝可大大簡化這個安裝過程。方便快捷。此操作環境是基於ubuntu 18.04 64bit的elementary os...