MySQL 第十一章 limit(★★★★★)

十一、limit(★★★★★)

11.1 limit的作用

将查询结果集的一部分取出来。通常使用在分页查询当中。

示例:
百度默认—>一页只显示10条记录。

分页的作用是为了提高用户的体验,因为一次全部都查出来用户体验感会差,可以一页一页翻着看。

11.2 limit怎么用

# 完整用法
limit startIndex, length
# startIndex:起始下标,length:长度
# 起始下标从0开始
# 缺省用法
limit 5;	# 取前5

注意:mysql中limit在order by之后执行!

11.3 案例

按照薪资降序,取出排名在前5名的员工?

# 法1
mysql> select ename, sal
    -> from emp
    -> order by sal desc
    -> limit 5;
+-------+---------+
| ename | sal     |
+-------+---------+
| KING  | 5000.00 |
| FORD  | 3000.00 |
| SCOTT | 3000.00 |
| JONES | 2975.00 |
| BLAKE | 2850.00 |
+-------+---------+
5 rows in set (0.00 sec)

# 法2
mysql> select ename, sal
    -> from emp
    -> order by sal desc
    -> limit 0, 5;
+-------+---------+
| ename | sal     |
+-------+---------+
| KING  | 5000.00 |
| FORD  | 3000.00 |
| SCOTT | 3000.00 |
| JONES | 2975.00 |
| BLAKE | 2850.00 |
+-------+---------+
5 rows in set (0.00 sec)

取出工资排名在[3-5]名的员工?

mysql> select ename, sal
    -> from emp
    -> order by sal desc
    -> limit 2, 3;	# 注意,这里是2,3。
+-------+---------+
| ename | sal     |
+-------+---------+
| SCOTT | 3000.00 |
| JONES | 2975.00 |
| BLAKE | 2850.00 |
+-------+---------+
3 rows in set (0.00 sec)
# 2表示起始位置从下标2开始,就是第三条记录
# 3表示长度

取出工资排名在[5-9]名的员工?

mysql> select ename,sal
    -> from emp
    -> order by sal desc
    -> limit 4, 5;
+--------+---------+
| ename  | sal     |
+--------+---------+
| BLAKE  | 2850.00 |
| CLARK  | 2450.00 |
| ALLEN  | 1600.00 |
| TURNER | 1500.00 |
| MILLER | 1300.00 |
+--------+---------+
5 rows in set (0.00 sec)

11.4 分页

如,每页显示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]

公式:

#每页显示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;
}

11.5 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 ...
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ClimberCoding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值