文档章节

sql语句limit offset

S
 Secretry
发布于 2015/04/20 16:15
字数 444
阅读 21
收藏 0

 LIMIT 和 OFFSET



附加上 LIMIT和OFFSET 子句之后,你就可以检索原来查询语句查询出来的结果中的一部分数据行:

SELECT select_list
	FROM table_expression
	[LIMIT { number | ALL }] [OFFSET number]

如果给出了一个限制计数,那么返回不超过那么多的行。 (但可能更少些,因为查询本身可能生成的行数就比较少。) LIMIT ALL和省略 LIMIT子句一样。

OFFSET说明在开始返回行之前忽略多少行。 OFFSET 0和省略OFFSET子句是一样的。 如果OFFSET和LIMIT都出现了, 那么在计算LIMIT个行之前忽略OFFSET行。

如果使用LIMIT,那么用ORDER BY 子句把结果行约束成一个唯一的顺序是一个好主意。 否则你就会拿到一个不可预料的该查询的行的子集。 — 你要的可能是第十到二十行,但以什么顺序的十到二十? 除非你声明了ORDER BY,否则顺序是不知道的。

查询优化器在生成查询规划的时候会考虑LIMIT,因此如果你给 LIMIT和OFFSET不同的东西,那么你很可能收到不同的规划(产生不同的行顺序)。 因此,使用不同的LIMIT/OFFSET值选择不同的查询结果的子集将生成不一致的结果, 除非你用ORDER BY强制一个可预料的顺序。这可不是臭虫; 这是一个很自然的结果,因为 SQL 没有许诺把查询的结果按照任何特定的顺序发出,除非用了ORDER BY来约束顺序。

OFFSET 子句忽略的行仍然需要在服务器内部计算;因此,一个很大的 OFFSET 可能还是不够有效率的。


本文转载自:

共有 人打赏支持
S
粉丝 0
博文 13
码字总数 3759
作品 0
南京
PHP中使用PDO执行LIMIT语句无结果的问题

以下是不能查询出结果的程序 以下是可以获取结果的方法 这其中的原因还不大了解,欢迎大家讨论

景云之应
2016/09/07
13
1
Mysql的ORDER BY 和Limit offset的一个问题,拿出来和大家研究下

今天碰到个很怪异的问题,如题关于mysql的ORDER BY 语句和Limit offset语句问题。 bug再现下:select * from A a where a.culomn1 limit 5 offset 0 order by a.culomn1 asc 则出现sqlExcept...

不会笑
06/26
0
0
通过索引优化含ORDER BY的MySQL语句的经验

看到社区里面大家非常踊跃的讨论关于MySQL优化,特别是Order by优化的问题[via],我就将自己在平时项目中积累的一些经验和大家分享一下。一家之言,未免有误,欢迎拍砖,仅供参考。 关于建立...

Edwyn王
2016/06/24
37
0
mysql的limit经典用法及优化

用法一 SELECT .* FROM keyword_rank WHERE (advertiserid='59') LIMIT 2 OFFSET 1; 比如这个SQL ,limit后面跟的是2条数据,offset后面是从第1条开始读取。 用法二 SELECT .* FROM keyword...

drewin
2013/09/24
0
3
在SQL Server中实现 Limit m, n 的功能

在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录, 例如:[sql] view plaincopy select * from tablename limit m, n 但是,在SQL Server中,不支持 Limit 语句。怎么办呢? 解决方案...

jackguo
2013/11/25
0
4

没有更多内容

加载失败,请刷新页面

加载更多

linux 系统的运行级别

运行级别 运行级别 | 含义 0 关机 1 单用户模式,可以想象为windows 的安全模式,主要用于修复系统 2 不完全的命令模式,不含NFS服务 3 完全的命令行模式,就是标准的字符界面 4 系统保留 5 ...

Linux学习笔记
今天
2
0
学习设计模式——命令模式

任何模式的出现,都是为了解决一些特定的场景的耦合问题,以达到对修改封闭,对扩展开放的效果。命令模式也不例外: 命令模式是为了解决命令的请求者和命令的实现者之间的耦合关系。 解决了这...

江左煤郎
今天
3
0
字典树收集(非线程安全,后续做线程安全改进)

将500W个单词放进一个数据结构进行存储,然后进行快速比对,判断一个单词是不是这个500W单词之中的;来了一个单词前缀,给出500w个单词中有多少个单词是该前缀. 1、这个需求首先需要设计好数据结...

算法之名
昨天
15
0
GRASP设计模式

此文参考了这篇博客,建议读者阅读原文。 面向对象(Object-Oriented,OO)是当下软件开发的主流方法。在OO分析与设计中,我们首先从问题领域中抽象出领域模型,在领域模型中以适当的粒度归纳...

克虏伯
昨天
1
0
Coding and Paper Letter(四十)

资源整理。 1 Coding: 1.Tomislav Hengl撰写的非官方作者指南:Michael Gould•Wouter Gerritsma。 UnofficialGuide4Authors 2.R语言包rwrfhydro,社区贡献的工具箱,用于管理,分析和可视化...

胖胖雕
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部