1 limit的作用
将查询结果集的一部分取出来。通常使用在分页查询当中。
百度默认:一页显示10条记录。
分页的作用是为了提高用户的体验,因为一次全部都查出来,用户体验差。可以一页一页翻页看。
2 limit怎么用呢?
(1)完整用法:limit startIndex, length
startIndex是起始下标,length是长度。
起始下标从0开始。
(2)缺省用法:limit 5; 这是取前5.
按照薪资降序,取出排名在前5名的员工?
select
ename,sal
from
emp
order by
sal desc
limit 5; //取前5
select
ename,sal
from
emp
order by
sal desc
limit 0,5;
3 注意:mysql当中limit在order by之后执行!!!!!!
4 案例
(1)取出工资排名在[3-5]名的员工?
select
ename,sal
from
emp
order by
sal desc
//2表示起始位置从下标2开始,就是第三条记录。
//3表示长度。
limit
2, 3;
(2) 取出工资排名在[5-9]名的员工?
select
ename,sal
from
emp
order by
sal desc
limit
4, 5;
5 分页
(1)每页显示3条记录
第1页:limit 0,3 [0 1 2]
第2页:limit 3,3 [3 4 5]
第3页:limit 6,3 [6 7 8]
第4页:limit 9,3 [9 10 11]
(2)每页显示pageSize条记录
第pageNo页:limit (pageNo - 1) * pageSize , pageSize
public static void main(String[] args){
// 用户提交过来一个页码,以及每页显示的记录条数
int pageNo = 5; //第5页
int pageSize = 10; //每页显示10条
int startIndex = (pageNo - 1) * pageSize;
String sql = "select ...limit " + startIndex + ", " + pageSize;
}
记公式:
limit (pageNo-1)*pageSize , pageSize
6 关于DQL语句的大总结:
select
...
from
...
where
...
group by
...
having
...
order by
...
limit
...
执行顺序?
1.from
2.where
3.group by
4.having
5.select
6.order by
7.limit..