下载此文档

Mysql中limit的用法详解.doc


文档分类:IT计算机 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
Mysql 中 limit 的用法详解 Mysql 中 limit 的用法:在我们使用查询语句的时候,经常要返回前几条或者中间某几行数据,这个时候怎么办呢? 不用担心, mysql 已经为我们提供了这样一个功能。 SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数。 LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数, 第一个参数指定第一个返回记录行的偏移量, 第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0( 而不是 1): 为了与 PostgreSQL 兼容, MySQL 也支持句法: LIMIT # OFFSET #。 mysql> SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 // 为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为-1: mysql> SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last. // 如果只给定一个参数,它表示返回最大的记录行数目: mysql> SELECT * FROM table LIMIT 5; // 检索前 5 个记录行// 换句话说, LIMIT n 等价于 LIMIT 0,n 。注意 limit 10 和 limit 9,1 的不同: 例如: 1. Select * From cyclopedia Where ID>=( Select Max(ID) From ( Select ID From cyclopedia Order By ID limit 90001 ) As tmp ) limit 100; 2. Select * From cyclopedia Where ID>=( Select Max(ID) From ( Select ID From cyclopedia Order By ID limit 90000,1 ) As tmp ) limit 100; 同样是取 90000 条后 100 条记录,第1 句快还是第 2 句快? 第1 句是先取了前 90001 条记录, 取其中最大一个 ID 值作为起始标识, 然后利用它可以快速定位下 100 条记录第2 句择是仅仅取 90000 条记录后 1条, 然后取 ID 值作起始标识定位下 100 条记录第1 rows in set () sec 第2 rows in set () sec 其实第 2 句完全可以简化成: Select * From cyclopedia Where ID>=( Select ID From cyclopedia limit 90000,1 )limit 100; 直接利用第 9000 0 条记录的 ID, 不用经过 Ma x 运算, 这样做理论上效率因该高一些, 但在实际使用中几乎看不到效果, 因为本身定位 ID 返回的就是 1 条记录,Max 几乎不用运作就能得到结果, 但这样写更清淅明朗, 省去了画蛇那一足. Select Top 100 * From cyclop

Mysql中limit的用法详解 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2016-05-05