sql分页limit

SQL语句:select id,name from stu where score>60 limit 0,5

在这里会显示5条数据

limit分页是从0开始,显示第一条数据,类似数组的样式,0表示第一个下标,5表示第6条数据的下标。

但是显示的时候是显示前而不显示后,也就是说会显示下标为0 1 2 3 4的5条数据。

转载于:https://www.cnblogs.com/xuesheng/p/7712164.html

### SQL 中使用 LIMIT 实现分页SQL 查询中,`LIMIT` 是一种用于控制返回结果数量的关键字。通过 `LIMIT` 和偏移量参数的组合,可以轻松实现分页功能。以下是关于如何利用 `LIMIT` 进行分页的具体说明以及示例。 #### 基本语法 `LIMIT` 的基本语法有两种形式: 1. **仅指定返回记录数**: 使用 `LIMIT n` 可以获取查询结果中的前 n 条记录[^1]。 2. **指定偏移量和返回记录数**: 使用 `LIMIT offset, count` 或者 `LIMIT count OFFSET offset` 获取从某个位置开始的特定数量的记录[^2]。 #### 分页逻辑 假设每页显示的数量为 `page_size`,当前请求的页码为 `page_number`(通常从 1 开始计数),那么可以通过以下公式计算偏移量: ```plaintext offset = (page_number - 1) * page_size ``` 基于此逻辑,完整的分页查询语句如下所示: ```sql SELECT * FROM table_name ORDER BY some_column LIMIT page_size OFFSET offset; ``` 或者采用另一种写法: ```sql SELECT * FROM table_name ORDER BY some_column LIMIT offset, page_size; ``` 这两种写法的效果相同,具体取决于所使用的数据库系统的支持情况。 #### 示例代码 假设有张名为 `articles` 的文章表,其中包含多篇文章数据。现在需要按照创建时间降序排列并按每页 10 条的方式展示这些文章。 ##### 请求第一页数据 对于第一页,默认情况下不需要显式设置偏移量,可以直接简化为只保留 `LIMIT` 参数: ```sql SELECT * FROM articles ORDER BY created_at DESC LIMIT 10; ``` ##### 请求第二页数据 当访问第二页时,则需根据上述公式设定偏移量 `(2 - 1) * 10 = 10`: ```sql SELECT * FROM articles ORDER BY created_at DESC LIMIT 10 OFFSET 10; ``` 同样也可以写作: ```sql SELECT * FROM articles ORDER BY created_at DESC LIMIT 10, 10; ``` #### 性能优化建议 尽管 `LIMIT` 能够有效减少一次性加载大量数据的压力,但在处理大规模数据集时仍需要注意性能问题。例如,在某些场景下,随着页面编号增大,`OFFSET` 的值也会变得越来越大,这可能导致查询效率下降。因此推荐考虑其他替代方案如键集分页或游标分页来进一步提升性能[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值