在使用SELECT 语句时,往往返回的是所有匹配的行,有些时候我们仅需要返回第一行或者前几行,这时候就需要用到 MySQL LIMT 子句。
语法:
select <字段名列表> from <表名> limit [偏移量,] 行数;
- lmit接受一个或两个数字参数,参数必须是一个整数常量。
- 第一个参数指定第一个返回记录行的偏移量。
- 第二个参数指定返回记录行的最大数目。
- 如果只给定一个参数,表示返回最大的记录行数目。
- 第二个参数为-1时,表示从某一个偏移量到结果集的结束所有的记录行。
- 初始记录行的偏移量是0(而不是1)。
给定一个参数:查询基本工资最高的前5位员工
mysql> select ename,sal from emp order by sal desc limit 5;
+-------+------+
| ename | sal |
+-------+------+
| king | 5000 |
| ford | 3000 |
| scott | 3000 |
| jones | 2975 |
| blake | 2850 |
+-------+------+
给定两个参数:查询基本工资第6到10名的员工
mysql> select ename,sal from emp order by sal desc limit 5,5;
+--------+------+
| ename | sal |
+--------+------+
| clark | 2450 |
| allen | 1600 |
| turner | 1500 |
| miller | 1300 |
| ward | 1250 |
+--------+------+