在oracle中實現select top n:
由於oracle不支援select top 語句,所以在oracle中經常是用order by 跟rownum
的組合來實現select top n的查詢。
簡單地說,實現方法如下所示:
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-150條資料的方法
1. 最佳選擇:利用分析函式
row_number() over ( partition by col1 order by col2 )
比如想取出100-150條記錄,按照tname排序
select tname,tabtype from (
select tname,tabtype,row_number() over ( order by tname ) rn from tab
) where rn between 100 and 150;
2. 使用rownum 虛列
select tname,tabtype from (
select tname,tabtype,rownum rn from tabwhere rownum <= 150
) where rn >= 100;
Oracle查詢前幾條資料的方法
oracle查詢前幾條資料的方法 在oracle中實現select top n 由於oracle不支援select top 語句,所以在oracle中經常是用order by 跟rownum 的組合來實現select top n的查詢。簡單地說,實現方法如下所示 select 列名1 列名n fro...
Oracle查詢前幾條資料的方法
在oracle中實現select top n 由於oracle不支援select top 語句,所以在oracle中經常是用order by 跟rownum 的組合來實現select top n的查詢。簡單地說,實現方法如下所示 select 列名1 列名n from select 列名1 列名n ...
Oracle查詢前幾條資料的方法
在oracle中實現select top n 由於oracle不支援select top 語句,所以在oracle中經常是用order by 跟rownum 的組合來實現select top n的查詢。簡單地說,實現方法如下所示 select 列名1 列名n from select 列名1 列名n ...