语法: 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的用法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.