为了账号安全,请及时绑定邮箱和手机立即绑定

如何在sql中选择下一行分页

如何在sql中选择下一行分页

PHP
ibeautiful 2022-12-11 10:42:26
对不起,我的英语很差。我在每页回显 2 行。如何回显下 2 行SELECT *FROM `mzmx_post`JOIN mzmx_post_category WHERE mzmx_post.id = mzmx_post_category.post_id AND zmx_post_category.category_id = 5ORDER BY id DESC LIMIT 2
查看完整描述

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。


查看完整回答
反对 回复 2022-12-11
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

基本思想是使用

LIMIT n,o

其中
n 是每页的结果
o 是第一个结果的偏移量

对于第 p 页,偏移量为

o = p * n
其中 p = 0,1,2,....


查看完整回答
反对 回复 2022-12-11
?
慕哥6287543

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


查看完整回答
反对 回复 2022-12-11
  • 3 回答
  • 0 关注
  • 92 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号