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

需要使用Mysql的limit分页,求具体公式?

需要使用Mysql的limit分页,求具体公式?

白猪掌柜的 2022-02-18 11:11:34
mysql怎么使用 limit 分页,select * from table order by id asc limit 0,20 第一页查询出来的是1~20,我以前误解了以为是20-0然后是查询0~20,我的公式是 select * from table order by id asc limit (page-1)*20,(page*20);查询第2页的结果发现不是我要的。第2页 20~40应该怎么查,正确的分页公式应该怎么写,新手求指导。
查看完整描述

2 回答

?
小怪兽爱吃肉

TA贡献1852条经验 获得超1个赞

对于数据不多的分页..可以用limit
select * from table limit (20,20)
表示从第20行开始..向后移动20行..就是你说的相当于第20行到第40行..同理从第40行到第90行就是limit(40,50)

查看完整回答
反对 回复 2022-02-21
?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

创建一个存储过程吧,这样分页的参数方便传递,注意limit 部分不能直接+参数,要用拼SQL语句的方式。例子如下:
CREATE PROCEDURE usp_GetList(pageSize INT, pageIndex INT)
BEGIN
SET @SQL = CONCAT('SELECT A, B,C,D FROM TABLEORDER BY ID ASC limit ',pageIndex,',',pageSize);
PREPARE sqlstmt FROM @SQL;
EXECUTE sqlstmt;
DEALLOCATE PREPARE sqlstmt;
END



查看完整回答
反对 回复 2022-02-21
  • 2 回答
  • 0 关注
  • 279 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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