liangcmwn

          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。

          實例:

          mysql> use sppeivan;
          Database changed
          mysql> select * from employee; // 返回所有結果
          +------------+------------+--------+-------------+
          | username   | password   | gender | cellphone   |
          +------------+------------+--------+-------------+
          | ewrew      | erewr      | MAN    | 13618889076 |
          | ewrwerw32r | 324324     | MAN    | 13618889076 |
          | grrrrr     | r44343     | WOMAN | 13618889076 |
          | pansong    | erewrwe    | MAN    | 13618889076 |
          | ret43t43t | 43t43      | MAN    | 13618889076 |
          | ret44t4    | r4tgr      | WOMAN | 13618889076 |
          | tttt       | 4et        | WOMAN | 13618889076 |
          | wr34r      | retre      | MAN    | 13618889076 |
          | xxx     | safe       | MAN    | 13618889076 |
          | hhh       | ewrwer     | MAN    | 13618889076 |
          | hg       | 6574326543 | MAN    | 13618889076 |
          | ps       | ewrwe      | MAN    | 13618889076 |
          | zhu       | werew      | MAN    | 13618889076 |
          +------------+------------+--------+-------------+
          13 rows in set (0.01 sec)

          mysql> select * from employee limit 3 7;
          ERROR 1064 (42000): You have an error in your SQL syntax
          corresponds to your MySQL server version for the right s
          line 1
          mysql> select * from employee limit 3, 7; // 返回4-11行
          +-----------+----------+--------+-------------+
          | username | password | gender | cellphone   |
          +-----------+----------+--------+-------------+
          | pansong   | erewrwe | MAN    | 13618889076 |
          | ret43t43t | 43t43    | MAN    | 13618889076 |
          | ret44t4   | r4tgr    | WOMAN | 13618889076 |
          | tttt      | 4et      | WOMAN | 13618889076 |
          | wr34r     | retre    | MAN    | 13618889076 |
          | xxx     | safe     | MAN    | 13618889076 |
          | hhh      | ewrwer   | MAN    | 13618889076 |
          +-----------+----------+--------+-------------+
          7 rows in set (0.00 sec)

          mysql> select * from employee limit 3,-1; // 錯誤語法
          ERROR 1064 (42000): You have an error in your SQL syntax
          corresponds to your MySQL server version for the right s
          t line 1


          mysql> select * from employee limit 3,1; // 返回第4行
          +----------+----------+--------+-------------+
          | username | password | gender | cellphone   |
          +----------+----------+--------+-------------+
          | pansong | erewrwe | MAN    | 13618889076|
          +----------+----------+--------+-------------+
          1 row in set (0.00 sec)

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

          +------------+----------+--------+-------------+
          | username   | password | gender | cellphone   |
          +------------+----------+--------+-------------+
          | ewrew      | erewr    | MAN    | 13618889076 |
          | ewrwerw32r | 324324   | MAN    | 13618889076 |
          | grrrrr     | r44343   | WOMAN | 13618889076 |
          +------------+----------+--------+-------------+
          3 rows in set (0.00 sec)


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

          +------------+----------+--------+-------------+
          | username   | password | gender | cellphone   |
          +------------+----------+--------+-------------+
          | ewrew      | erewr    | MAN    | 13618889076 |
          | ewrwerw32r | 324324   | MAN    | 13618889076 |
          | grrrrr     | r44343   | WOMAN | 13618889076 |
          | pansong    | erewrwe | MAN    | 13618889076 |
          | ret43t43t | 43t43    | MAN    | 13618889076 |
          | ret44t4    | r4tgr    | WOMAN | 13618889076 |
          | tttt       | 4et      | WOMAN | 13618889076 |
          | wr34r      | retre    | MAN    | 13618889076 |
          | xxx     | safe     | MAN    | 13811588469 |
          | hhh       | ewrwer   | MAN    | 13618889076 |
          +------------+----------+--------+-------------+
          10 rows in set (0.00 sec)

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

          +----------+----------+--------+-------------+
          | username | password | gender | cellphone   |
          +----------+----------+--------+-------------+
          | hhh     | ewrwer   | MAN    | 13816668468 |
          +----------+----------+--------+-------------+
          1 row in set (0.00 sec)

          posted on 2011-07-27 17:10 liangcmwn 閱讀(122) 評論(0)  編輯  收藏 所屬分類: mysql

          主站蜘蛛池模板: 团风县| 离岛区| 益阳市| 广平县| 克拉玛依市| 嘉义县| 扶风县| 锦屏县| 芜湖县| 桂林市| 岢岚县| 恩平市| 会东县| 屯昌县| 汾阳市| 高邮市| 甘南县| 宁都县| 丹阳市| 灯塔市| 龙南县| 介休市| 平湖市| 伊春市| 迁西县| 文安县| 马边| 青铜峡市| 桃园市| 玛纳斯县| 三都| 新蔡县| 汪清县| 渝中区| 双峰县| 灌南县| 仪陇县| 蚌埠市| 弋阳县| 中山市| 深泽县|