获取最新10条记录的sql语句如下: select * fromsome_table order by id desc limit 0,10 select*fromtablelimit[offset,]rows|rowsoffsetoffset limit 子句可以被用于强制 select 语句返回指定的记录数。mysql limit 接受一个或两个数字参数。参数必须是一
获取最新10条记录的sql语句如下:
select * from some_table order by id desc limit 0,10
select * from table limit [offset,] rows | rows offset offset
limit 子句可以被用于强制 select 语句返回指定的记录数。mysql 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 等价于 mysql limit 0,n。
实例如下:
mysql> use sppeivan;database changedmysql> 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 syntaxcorresponds to your mysql server version for the right sline 1mysql> 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 syntaxcorresponds to your mysql server version for the right st line 1mysql> 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)