Feb 12

sqlite3与mysql 分页产生的区别 不指定

admin , 20:37 , 数据库 » 数据库(SQLite) , 评论(0) , 引用(0) , 阅读(4688) , Via 本站原创 | |
怎么手机十秒时时监控          拍拍购物综合频道 正品1折起 惊喜多多      拍拍女装特卖频道,汇集了最新的女装时尚新款 正品1折起,爱美的我还在等什么
     手机访问 就能天天 特价     电脑访问 爱淘宝go

1、Mysql 分页语法:
SELECT * FROM table LIMIT [offset,] rows
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset

Mysql select 的语法:
SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY] [DISTINCT | DISTINCTROW | ALL] select_expression,... [INTO OUTFILE 'file_name' export_options] [FROM table_references [WHERE where_definition] [GROUP BY col_name,...] [HAVING where_definition] [ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...] [LIMIT [offset,] rows] [PROCEDURE procedure_name] ]

LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持句法: LIMIT # OFFSET #。
其中offset是偏移量,为可选参数,说明从第几行开始读取数据。
rows是返回的结果集的最大行数
这两个参数要求为整数。

例如:
返回前15行产品信息
select * from itlife365 limit 15; 相当于limit 0,15
返回第31到第45行数据
select * from itlife365 limit 30,15; 注意offset的序号从0开始
返回第18行后的所有数据
select * from itlife365 limit 18,-1; 这里-1表示返回所有数据直到记录的最后一行。

【利用limit进行分页】
学习了Limit的用法,下面我们看在MySQL中如何进行分页。
我们假设每页要显示pageSize行数据,当前要显示的是第pageCount页,所用的SQL语句为:

select * from itlife365 limit (pageCount-1)*pageSize,pageSize

其中(pageCount-1)*pageSize是前面几页要显示的行数,共提取pageSize行数据。

2、sqlite3 的分页语法:
官方网站:http://www.sqlite.org/lang_select.html#orderby

sqlite> select * from student limit 5 offset 10

注意:mysql 与sqlite3.exe 分页的参数offset 的位置不同,位置不对将报错。
在hibernate 与sqlite3.exe 进行分页的时候,记得区别。
hibernate 默认传递的值第一个是 offset 的值,第二个是limit的值。
关于hibernate分页的原理查看。


Tags: