MySQL的Limit子句

轉(zhuǎn)自:https://www.cnblogs.com/acm-bingzi/p/msqlLimit.html
MySQL的Limit子句

  Limit子句可以被用于強(qiáng)制 SELECT 語句返回指定的記錄數(shù)。Limit接受一個或兩個數(shù)字參數(shù)。參數(shù)必須是一個整數(shù)常量。如果給定兩個參數(shù),第一個參數(shù)指定第一個返回記錄行的偏移量,第二個參數(shù)指定返回記錄行的最大數(shù)目。

//初始記錄行的偏移量是 0(而不是 1)

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

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

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

//如果只給定一個參數(shù),它表示返回最大的記錄行數(shù)目。換句話說,LIMIT n 等價于 LIMIT 0,n:

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


在sql語句中,limt關(guān)鍵字是最后才用到的。以下條件的出現(xiàn)順序一般是:where->group by->having-order by->limit

附錄:OFFSET

  為了與 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。

  經(jīng)常用到在數(shù)據(jù)庫中查詢中間幾條數(shù)據(jù)的需求

  比如下面的sql語句:

   ?、?selete * from testtable limit 2,1;

   ?、?selete * from testtable limit 2 offset 1;

  注意:

    1.數(shù)據(jù)庫數(shù)據(jù)計算是從0開始的

    2.offset X是跳過X個數(shù)據(jù),limit Y是選取Y個數(shù)據(jù)

    3.limit? X,Y? 中X表示跳過X個數(shù)據(jù),讀取Y個數(shù)據(jù)

  這兩個都是能完成需要,但是他們之間是有區(qū)別的:

   ?、偈菑臄?shù)據(jù)庫中第三條開始查詢,取一條數(shù)據(jù),即第三條數(shù)據(jù)讀取,一二條跳過

    ②是從數(shù)據(jù)庫中的第二條數(shù)據(jù)開始查詢兩條數(shù)據(jù),即第二條和第三條。

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

相關(guān)閱讀更多精彩內(nèi)容

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