如何限制在Sybase返回的结果的数量?(How do I limit the amount of

2019-08-20 05:03发布

我需要查询里面有很多在它的数据的Sybase数据库,并希望设置限制,因此DB后10个结果停止查询。

关键的是性能,因此,如果找遍了所有结果,然后再回到过去的10个结果将是没有用的。

提前致谢

Answer 1:

我相信你可以做一个SET ROWCOUNT 10 ,然后再在这个环节中,直到进一步的所有查询SET ROWCOUNT将返回超过10行没有更多的。 正如评论指出,这将影响会话中的所有以下查询(不只是SELECT小号!),直至关闭(通过设置为0),或设置不同的-这个“全球性”的效果使得它比典型的少得心应手LIMIT子句其他的发动机,这是每次查询的本质,但是,我不认为你可以做任何事情。



Answer 2:

与Sybase 12.5及更高版本,你可以在你的SELECT语句中使用TOP谓词。 这是一个非ANSI功能,MSSQL已经有相当长一段时间。

select top 10 * from people

您不能在子查询,更新或删除使用顶部,并没有相应的“底部”的条款。

顶级的好处是,你不必担心将其复位。 如果你使用一个数据库连接池,这一点尤为重要。



Answer 3:

我正好绊倒在这个问题上,并使用TOP和START AT从Sybase文档取代MySQL的LIMIT找到答案。 您需要使用ORDER BY的,否则将产生不可预知的结果。

http://dcx.sybase.com/1101/en/dbusage_en11/first-order-formatting.html

SELECT TOP 2 START AT 5 * FROM员工ORDER BY姓DESC;



Answer 4:

您可以尝试添加该条款“只取前n行”。



文章来源: How do I limit the amount of results returned in Sybase?
标签: sql limit sybase