MySql中的分页语句

作者: the5fire 标签: mysql 发布: 2010-12-06 阅读: 13850
视频中讲的是oracle的分页方式,不过碍于个人的电脑配置已经过时了,oracle是装不上了,只能用MySql顶替了,所以我需要MySql中的分页方式。

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

---- EOF ----

微信公众号:Python程序员杂谈

相关文章