語法: SELECT * FROM 表名 limit m,n; SELECT * FROM table LIMIT [offset,] rows; 註釋: Limit子句可以被用於強制 SELECT 語句返回指定的記錄數。Limit接受一個或兩個數字參數, 參數必須是一個整數常量。如果給定兩個參數,第一個參數指定第一個返回記錄行的偏移量, 第二個參數指定返回記錄行的最大數目。 1.m代表從m+1條記錄行開始檢索,n代表取出n條數據。(m可設爲0) 如:SELECT * FROM 表名 limit 6,5; 表示:從第7條記錄行開始算,取出5條數據 2.值得注意的是,n可以被設置爲-1,當n爲-1時,表示從m+1行開始檢索,直到取出最後一條數據。 如:SELECT * FROM 表名 limit 6,-1; 表示:取出第6條記錄行以後的所有數據。 3.若只給出m,則表示從第1條記錄行開始算一共取出m條 如:SELECT * FROM 表名 limit 6;以年齡倒序後取出前3行: mysql> select * from student order by age desc; +-----+--------+------+------+ | SNO | SNAME | AGE | SEX | +-----+--------+------+------+ | 1 | 換換 | 23 | 男 | | 2 | 劉麗 | 22 | 女 | | 5 | 張友 | 22 | 男 | | 6 | 劉力 | 22 | 男 | | 4 | NULL | 10 | NULL | +-----+--------+------+------+ 5 rows in set (0.00 sec) mysql> select * from student order by age desc limit 3; +-----+--------+------+------+ | SNO | SNAME | AGE | SEX | +-----+--------+------+------+ | 1 | 換換 | 23 | 男 | | 2 | 劉麗 | 22 | 女 | | 6 | 劉力 | 22 | 男 | +-----+--------+------+------+ 3 rows in set (0.00 sec) 跳過前3行後再2取行. mysql> select * from student order by age desc limit 3,2; +-----+--------+------+------+ | SNO | SNAME | AGE | SEX | +-----+--------+------+------+ | 6 | 劉力 | 22 | 男 | | 4 | NULL | 10 | NULL | +-----+--------+------+------+ 2 rows in set (0.00 sec) 報錯:limit中"-1"的取值報錯,提示語法錯誤,可能版本不支持. [root@localhost data]# mysql -V mysql Ver 14.14 Distrib 5.6.29, for linux-glibc2.5 (x86_64) using EditLine wrapper mysql> select * from student order by age limit -1; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 1 mysql> select * from student order by age limit 2,-1; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-1' at line 1
mysql中limit的用法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.