温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何分页处理结果集

发布时间:2026-10-01 01:53:50 来源:亿速云 阅读:88 作者:小樊 栏目:数据库

“分页处理结果集”通常指从数据库或集合中取一部分数据展示(如每页 10 条),而不是一次性加载全部。下面按常见场景说明。


一、数据库分页(最常用)

1. MySQL / PostgreSQL

SELECT *
FROM user
ORDER BY id
LIMIT 10 OFFSET 20;
  • LIMIT:每页大小
  • OFFSET:跳过多少条(第 3 页 = 20)

✅ 推荐写法(避免 OFFSET 过大):

SELECT *
FROM user
WHERE id > 100
ORDER BY id
LIMIT 10;

2. Oracle

SELECT *
FROM (
  SELECT t.*, ROWNUM rn
  FROM user t
  ORDER BY id
)
WHERE rn BETWEEN 21 AND 30;

3. SQL Server

SELECT *
FROM user
ORDER BY id
OFFSET 20 ROWS
FETCH NEXT 10 ROWS ONLY;

二、Java(MyBatis / JPA)

MyBatis

<select id="list">
  SELECT * FROM user
  ORDER BY id
  LIMIT #{size} OFFSET #{offset}
</select>

JPA

Page<User> page =
  userRepository.findAll(PageRequest.of(2, 10));

三、内存集合分页(List)

List<User> list = getAllUsers();

int page = 2;
int size = 10;

List<User> pageList = list.stream()
    .skip((long) page * size)
    .limit(size)
    .collect(Collectors.toList());

⚠️ 仅适合小数据量


四、前端分页 vs 后端分页

  • 后端分页:数据库只查当前页(推荐)
  • 前端分页:一次性拿全部,前端切页(仅小数据)

五、常见分页参数

page = 1
size = 10
total = 235

返回示例:

{
  "page": 1,
  "size": 10,
  "total": 235,
  "data": [...]
}

如果你能说明:

  • 使用的数据库 / 语言
  • 是否大数据量
  • 是否游标式分页

我可以给你更精确的实现方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手