SQL LIMIT排序如何工作

时间:2015-07-17 18:37:31

标签: sql vertica

如果从sql数据库中选择并添加限制并多次运行,结果会有所不同。但是,当您想从数据库中随机选择时,通常会执行以下操作:

order by random()
limit n

我的问题是sql如何限制订购工作。如果它不是随机的那么结果是如何变化的?

2 个答案:

答案 0 :(得分:3)

LIMIT没有订购,期间。如果您需要特定订购,请使用ORDER BY

如果未指定ORDER BY,则不会以任何特定顺序返回行。从运行到运行它们可能是相同的,但它取决于从基础数据文件,索引或连接顺序检索行的各种事情。无论在未指定ORDER BY时控制排序的内容如何,​​您依赖它。

答案 1 :(得分:1)

它因每个供应商的实现而异,但通常生成整个结果集,然后应用ORDER BY(如果存在),然后服务器仅向客户端返回n行。 / p>

请注意,没有ORDER BY的LIMIT或TOP是不确定的。也就是说,结果不能保证在执行之间保持一致。