sql高級--limit-top-rownum返回規定記錄數



TOP 子句用於規定要返回的記錄的數目。對於擁有數千條記錄的大型表來說,TOP 子句是非常有用的。
註釋:並非所有的數據庫系統都支持 TOP 子句。


MySQL 和 Oracle 中的 SQL  SELECT TOP 是等價的


MySQL 語法


SELECT * FROM table LIMIT 5,10;  // 檢索記錄行 6-15
SELECT * FROM Persons LIMIT 5    //檢索前 5 個記錄行
SELECT * FROM table LIMIT 95,-1; // 檢索記錄行 96-last


Oracle 語法
可能都知道ROWNUM只適用於小於或小於等於,如果進行等於判斷,那麼只能等於1,不能進行大於的比較。
ROWNUM是oracle系統順序分配爲從查詢返回的行的編號,返回的第一行分配的是1,第二行是2,依此類推。
ROWNUM總是從1開始,不管當前的記錄是否滿足查詢結果,ROWNUM返回的值都是1,如果這條記錄的值最終
滿足所有的條件,那麼ROWNUM會遞加,下一條記錄的ROWNUM會返回2,否則下一條記錄的ROWNUM仍然返回1。
理解了這一點,就清楚爲什麼一般的ROWNUM大於某個值或等於某個不爲1的值是無法返回結果的,因此對於
每條記錄的ROWNUM都是1,而ROWNUM爲1不滿足查詢的結果,所以下一條記錄的ROWNUM不會遞增,仍然是1,
因此所有的記錄都不滿足條件。
SELECT * FROM Persons WHERE ROWNUM <= 5


SQL TOP 實例


"Persons" 表中選取頭兩條記錄。
SELECT TOP 2 * FROM Persons


"Persons" 表中選取 50% 的記錄
SELECT TOP 50 PERCENT * FROM Persons





















發佈了109 篇原創文章 · 獲贊 17 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章