重新認(rèn)識Mysql的LIMIT OFFSET

使用查詢語句的時候,經(jīng)常要返回前幾條或者中間某幾行數(shù)據(jù),這個時候怎么辦呢?不用擔(dān)心,mysql已 經(jīng)為我們提供了這樣一個功能。

SELECT?*?FROM?table? LIMIT?[offset,]?rows?|?rows OFFSET offset

LIMIT 子句可以被用于強(qiáng)制 SELECT 語句返回指定的記錄數(shù)。LIMIT 接受一個或兩個數(shù)字參數(shù)。參數(shù)必須是一個整數(shù)常量。如果給定兩個參數(shù),第一個參數(shù)指定第一個返回記錄行的偏移量,第二個參數(shù)指定返回記錄行的最大數(shù)目。初 始記錄行的偏移量是 0(而不是 1): 為了與 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

limit和offset用法

mysql里分頁一般用limit來實現(xiàn)

1. select* from article LIMIT 1,3

2.select * from article LIMIT 3 OFFSET 1

上面兩種寫法都表示取2,3,4三條條數(shù)據(jù)


mysql>?SELECT?*?FROM?table?LIMIT?5,10;??//?檢索記錄行?6-15

//為了檢索從某一個偏移量到記錄集的結(jié)束所有的記錄行,可以指定第二個參數(shù)為?-1:?

mysql

>?SELECT?*?FROM?table?LIMIT?95,-1;?//?檢索記錄行?96-last.

//如果只給定一個參數(shù),它表示返回最大的記錄行數(shù)目:?


>?SELECT?*?FROM?table?LIMIT?5;?????//檢索前?5?個記錄行

//換句話說,LIMIT n 等價于 LIMIT?0,n。



實例:


mysql> select * from employee;?// 返回所有結(jié)果


mysql> select * from employee limit 3, 7;?// 返回4-11行


mysql> select * from employee limit 3,-1;?// 錯誤語法


mysql> select * from employee limit 3,1;?// 返回第4行


mysql> select * from employee limit 3;?// 返回前3行


mysql> select * from employee limit 10;?// 返回前10行


mysql> select * from employee limit 9,1;?// 返回第10行

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容