SQL中l(wèi)imit的用法小結(jié)(一個參數(shù),兩個參數(shù))分頁查詢
1、limit使用一個參數(shù)的情況
如果"limit 10";則表示將表中的前10條數(shù)據(jù)查詢出來,檢索前10行數(shù)據(jù)
2、limit使用兩個參數(shù)的情況
第一個參數(shù) offset 表示跳過前面多少行后開始取數(shù)據(jù),第二個參數(shù)表示最多返回多少行的數(shù)據(jù)。默認(rèn) offset 為 0(不是 1)。"limit 0,2";表示從第1行數(shù)據(jù)開始,取2條數(shù)據(jù)??梢院唵卫斫鉃榈谝粋€參數(shù)表示從第幾行數(shù)據(jù)開始查,第二個參數(shù)表示查幾條數(shù)據(jù),
區(qū)別:
一個參數(shù)時,參數(shù)值為多少就查詢表中前多少條數(shù)據(jù)
兩個參數(shù)時,因為limit默認(rèn)下標(biāo)從0開始,第一個參數(shù)是下標(biāo),查數(shù)據(jù)的話是從第一條查,第二個參數(shù)限定了幾條數(shù)據(jù)
補充:
Limit和offset一起用----------分頁查詢(限制查詢)
使用SELECT查詢時,如果結(jié)果集數(shù)據(jù)量很大,比如幾萬行數(shù)據(jù),放在一個頁面顯示的話數(shù)據(jù)量太大,不如分頁顯示,每次顯示100條。
要實現(xiàn)分頁功能,實際上就是從結(jié)果集中顯示第1~100條記錄作為第1頁,顯示第101~200條記錄作為第2頁,以此類推。
因此,分頁實際上就是從結(jié)果集中“截取”出第M~N條記錄。這個查詢可以通過LIMIT OFFSET 子句實現(xiàn)。
例如,把結(jié)果集分頁,每頁3條記錄。要獲取第1頁的記錄,可以使用LIMIT 3 OFFSET 0:
SELECT * FROM student LIMIT 3 OFFSET 0;
上述查詢LIMIT 3 OFFSET 0表示,對結(jié)果集從0號記錄開始,最多取3條。注意SQL記錄集的索引從0開始。
如果要查詢第2頁,那么我們只需要“跳過”頭3條記錄,也就是對結(jié)果集從3號記錄開始查詢,把OFFSET設(shè)定為3:
SELECT * FROM student LIMIT 3 OFFSET 3;
可見,分頁查詢的關(guān)鍵在于,首先要確定每頁需要顯示的結(jié)果數(shù)量pageSize(這里是3),然后根據(jù)當(dāng)前頁的索引pageIndex(從1開始),確定LIMIT和OFFSET應(yīng)該設(shè)定的值:
- LIMIT總是設(shè)定為pageSize
- OFFSET計算公式為pageSize * (pageIndex - 1)
到此這篇關(guān)于SQL中l(wèi)imit的用法(一個參數(shù),兩個參數(shù)),分頁查詢的文章就介紹到這了,更多相關(guān)sql limit用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MS SQL Server數(shù)據(jù)庫清理錯誤日志的方法
SQL服務(wù)器磁盤空間爆滿導(dǎo)致數(shù)據(jù)庫無法訪問。遠程到服務(wù)器上,發(fā)現(xiàn)原來是SQL錯誤日志文件惹的禍,數(shù)據(jù)庫在1秒內(nèi)產(chǎn)生上100M大小的日志,沒多長時間就將磁盤空間堵滿了,下面說說解決方案2013-11-11
SQL Server數(shù)據(jù)庫按百分比查詢出表中的記錄數(shù)
這篇文章主要介紹了SQL Server數(shù)據(jù)庫在一個表中按百分比查詢出記錄條數(shù)的方法及代碼示例,需要的朋友可以參考下2015-08-08
SQL Server 事務(wù),異常和游標(biāo)詳解
這篇文章主要為大家介紹了SQLServer事務(wù),異常和游標(biāo),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01

