limit 的具体应用(非常重要经常使用)
1、limit作用:将查询结果集的一部分取出,通常使用在分页查询当中(比如:百度的查询结果分页显示,每页10条)分页的作用是为了提高用户的体验,因为一次全部查询出来,用户体验差。
2、limit的使用:
完整用法:
limit startIndex,length (startIndex起始下标 length长度 起始下标从0开始)
缺省用法:
limit length 这就是取前length个
案例:按照薪资降序排列,取出排名前5名的员工:
select
ename,sal
from
emp
order by
sal desc #工资降序
limit
5; #取前5名 需要注意:在mysql中limit在order by之后执行!!!!!
案例:按照薪资降序排列,取出排名[3-5]名的员工:
select
ename,sal
from
emp
order by
sal desc
limit
2,3; #2表示起始位置从下标2开始,也就是第三条记录开始,3表示长度也就是取3条记录。
3、分页
需求:每页显示5条记录
分析:
第1页:limit 0,5 [0 1 2 3 4]
第2页:limit 5,5 [5 6 7 8 9]
第3页:limit 10,5 [10 11 12 13 14]
第4页:limit 15,5 [15 16 17 18 19]
总结:开始下标 = (页数 - 1)* 记录条数 每页显示pageSize条记录:
第pageNo页:limit (pageNo - 1) * pageSize,pageSize --->这是公式需要记住
java 语句这样写:
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;
}