Mysql怎么使用limit分页,求公式?

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应该怎么查,正确的分页公式应该怎么写,新手求指导。

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

能写动态的公式吗?类似我现在写的,page是页面传递过来的动态值,
select * from table limit (page-1)*20,(page*20);当页面传递过来page为1时查询0~20
,当page为2时查询20~40以此类推,求正确公式公式。

追答

3就是40-60???每次只取20行???

那你就在你那个基础上稍微改下就好啦..
select * from table order by id asc limit (page-1)*20,20;

追问

问题早已经解决了,就是我sql写错了,吧后面(page-1)*20,(page*20);改成(page-1)*20,20就可以了,3Q你的回答

温馨提示:答案为网友推荐,仅供参考
相似回答