Mysql中limit的用法詳解

  Mysql中limit的用法:在我們使用查詢語句的時候,經常要返回前幾條或者中間某幾行數據,這個時候怎麼辦呢?不用擔心,mysql已經為我們提供瞭這樣一個功能。

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

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

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

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

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

  //如果隻給定一個參數,它表示返回最大的記錄行數目:

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

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

  註意limit 10和limit 9,1的不同:

  例如:

  1.

  Select * From cyclopedia Where ID>=(
  Select Max(ID) From (
  Select ID From cyclopedia Order By ID limit 90001
  ) As tmp
  ) limit 100;

  2.

  Select * From cyclopedia Where ID>=(
  Select Max(ID) From (
  Select ID From cyclopedia Order By ID limit 90000,1
  ) As tmp
  ) limit 100;

  

發佈留言