數據庫分頁查詢

最近在寫自動化測試方面的事,好久沒有使用數據庫,一時手生,居然忘了分頁查村語句的寫法,趕忙跑去找了找,本來是很小的一個知識點,就因爲不常用,導致手生,所以說很多看似方便的工具,或許確實可以方便很多開發中的問題,但是他們也會讓我們逐步的喪失能力,記得前一陣子,看到說美國是一羣有想法的人領導着一羣沒有想法的人,很是受教。廢話不多說,總計一下,一些常見的數據庫的分頁查詢的方法。

mySQL:
mySQL數據庫內部提供了一個LIMIT函數,一般只需要直接放在查詢語句後面即可。

LIMIT可以用來限制查詢(SELECT)語句返回過來的數據,他一般有一個或兩個參數,如果給出兩個參數,第一個參數指定返回的第一行在所有數據中的位置,從0開始(不是1),第二個參數是指定返回最多的行數。

例如:

SELECT * FROM table WHERE name=cter LIMIT 5; 返回前五行數據

SELECT * FROM table WHERE name=cter LIMIT 0 ,5; 返回前5行數據

SELECT * FROM table WHERE name=cter LIMIT 5,10; 返回第5行到第十行的數據

ORCALE:

ORCALE數據庫實現分頁查詢可以使用row_number()函數或者使用rownum虛列兩種方法

第一種:

SELECT * FROM(SELECT t.* row_number() over(order by t1.id) rowno from TABLE) WHERE rowno between 10 and 20;

第二種:

SELECT * FROM (SELECT t.*, rownum as rowno FROM TABLE1) WHERE rowno BETWEEN 10AND 20;

這兩種方法比較,是第二種更好一些,因爲不用order by語句,可以提高查詢速度。

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