各資料庫,怎麼獲取SQL結果集的前n條資料?

2021-08-05 23:34:33 字數 1226 閱讀 2879

一、在sql server資料庫中使用top關鍵字

1、獲取第1條記錄:

select top 1 colume_name from table_name;      -- colume_name:欄位名(取所有欄位用*),table_name:表名

2、獲取前n條記錄:

select top n * from table_name;    -- 例如:獲取前10條記錄,將n改為10即可

3、獲取n~m條記錄:

select top n * from (select top m * from table_name order by colume_name) b order by colume_name desc;

-- order by 後面跟字段,desc表示降序,預設是asc公升序,這種方式常用於分頁

二、在mysql資料庫中使用limit關鍵字

1、獲取第1條記錄:

select * from table_name limit 0, 1;  -- 通常0可以省略,直接寫成:limit 1 即可

2、獲取前n條記錄:

select * from table_name limit 0, n;

3、獲取從n開始m條記錄:

select * from table_name limit n, m; -- n是開始位置,m是偏移量,可以實現分頁

例如:獲取5到15之間的記錄

select * from table_name limit 5, 10;

三、在oracle資料庫中使用rownum關鍵字

1、獲取第一條記錄:

select * from table_name rownum=1;

2、獲取前n條記錄:

select * from table_name where rownum <= 10;

3、獲取n~m之間的記錄:

-- minus:意思是取兩個集合的差集

(select * from table_name where rownum <= 4) minus (select * from table_name where rownum <= 1);

-- 使用not in實現

select * from (select * from table_name where rownum < 10) a where a.id not in (select id from table_name where rownum < 5);

各資料庫限制結果集小結

在查詢資料庫時,經常會遇到限制結果集返回條數的情況。比如,查詢前三條記錄,又或者查詢中間五條記錄等等 下面我們就各種資料庫限制結果集條數進行總結一番 1 mysql mysql資料庫中提供了limit關鍵字用來限制返回的結果集,語法為 limit 需要返回記錄的首行行數,要返回記錄的條數 例如 se...

各資料庫的區別

因為之前一直使用的是mysql,大學學過access,但是並沒有對這些做過直觀的比較,這裡簡單記錄一下各個資料庫的區別 知識水平有限,如有錯誤,請大家指正 mysql 描述 從開始開發 就一直使用的是mysql,所以對mysql了解的更多一點,在使用中發現mysql在開發中小型專案時,效率很高,而且...

Oracle資料庫大資料集的結果集的型別設定問題

oracle資料庫在大資料集的情況下,其結果集不能設定為 scrollability。否則會產生大量的byte陣列不能夠被gc,導致記憶體溢位。即不能使用 conn.preparestatement sql,resultset.type scroll insensitive,resultset.co...