Oracle中的分页是通过rownum这个内置的函数实现的,但mysql中是没有的。查了一下mysql的分页方式:
一般分页:
select * from t_user where user_id <> 'root' order by user_id limit 0,3 /*第一页,每页3条记录*/
select * from t_user where user_id <> 'root' order by user_id limit 3,3 /*第二页,每页3条记录*/
不过这个语句使用起来简单,但是效率并不是很好,因此有人提出这样的经过优化的分页语句:
Select * From t_user Where user_id >=(
Select user_id from t_user where user_id <> 'root' order by user_id limit 0,1
) limit 3 /*第一页,每页3条记录*/
Select * From t_user Where user_id >=(
Select user_id from t_user where user_id <> 'root' order by user_id limit 3,1
) limit 3 /*第二页,每页3条记录*/
大家可以思考下,why
- from the5fire.com
----EOF-----
微信公众号:Python程序员杂谈
微信公众号:Python程序员杂谈