the5fire的技术博客

关注python、vim、linux、web开发和互联网--life is short, we need python.


MySql中的分页语句

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

扫码关注,或者搜索微信公众号:码农悟凡


其他分类: