如何在找到X行后停止查看数据库?

Ale*_*lex 2 mysql sql

我有一个数据库的查询,返回X的结果.我期待返回最多10个结果.有没有办法在不使用LIMIT 0,9的情况下执行此操作?如果必须的话,我会使用LIMIT,但我宁愿使用别的东西来完全停止搜索,而不是查看所有行,然后只返回前10名.

OMG*_*ies 5

LIMIT语法返回指定的行数的最可靠的手段.十行,使用:

LIMIT 10
Run Code Online (Sandbox Code Playgroud)

使用LIMIT 0, 9将返回9行,而不是10行.如果你要从零开始指定偏移量没有任何好处.


Mar*_*c B 5

如果您没有在查询中进行任何排序,则“LIMIT 10”将在前 10 个匹配行之后停止。但是一旦进行排序,所有行都必须被处理、排序,然后返回前 10 行。

可以将其视为“好吧,排队的前 10 个人可以进来”和“好吧,排队中最高的 10 个人可以进来”之间的区别。第一个你只需打开门并让 10 个人进来。第二个你必须穿过整条线才能找到 10 个最高的人。