the5fire

关注Python、Django、Vim、Linux、Web开发、团队管理和互联网--Life is short, we need Python.


MySql中的分页语句

作者:the5fire | 标签:   | 发布:2010-12-06 9:51 a.m. | 阅读量: 11444, 10994
视频中讲的是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
- from the5fire.com
----EOF-----

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


其他分类: