3 回答

TA贡献1829条经验 获得超7个赞
您可以使用双参数形式LIMIT将结果偏移给定的行数,例如:
SELECT *
FROM `mzmx_post`
JOIN mzmx_post_category ON mzmx_post.id = mzmx_post_category.post_id
WHERE mzmx_post_category.category_id = 5
ORDER BY id DESC
LIMIT 2, 2 -- fetch records 3 and 4
这给你第二页。如果你想要第三页,那么:
LIMIT 4, 2
等等。
请注意,我修改了您的查询,因此表之间的连接条件放在ON连接的子句中而不是子句中WHERE。

TA贡献1863条经验 获得超2个赞
基本思想是使用
LIMIT n,o
其中
n 是每页的结果
o 是第一个结果的偏移量
对于第 p 页,偏移量为
o = p * n
其中 p = 0,1,2,....

TA贡献1831条经验 获得超10个赞
最好在每个表中添加一个 Long 类型的额外列(例如 mzmx_post_key bigint),并在该列上具有顺序值。使用该列从页面上从数据库中获取数据。sql suery 应该是这样的:
SELECT *
FROM `mzmx_post`
JOIN mzmx_post_category ON mzmx_post.id = mzmx_post_category.post_id
WHERE mzmx_post_category.category_id = 5 and mzmx_post_key> ##last record key##
ORDER BY mzmx_post_key ASC
LIMIT 2
- 3 回答
- 0 关注
- 92 浏览
添加回答
举报