4

我正在创建一个在 Advantage Database 服务器上运行的 Web 应用程序,这不是我个人选择的武器,而是公司使用的。我有几个最终用户需要能够查看的大列表,但是我似乎找不到在 SQL 中对结果进行分页的方法。

Advantage 数据库有类似 LIMIT / OFFSET 的东西吗?如果没有,有什么建议可以解决这个问题吗?

先感谢您!

4

3 回答 3

6

我了解 LIMIT 和 ROWNUM 将是 Advantage 即将发布的版本中的新功能。 http://feedback.advantagedatabase.com/forums/2671-general/suggestions/30213-return-query-specific-row-number-?ref=title

但是,在那之前,我过去一直使用它来选择第 50-60 行。

select top 10 * from mytable where rowid not in (select top 50 rowid from mytable)

@tommieb75,您表示 SQL 方言不标准。我发现它基于包含大部分 SQL-92 标准和一些 SQL-2003 特性的标准。

于 2010-02-18T14:52:44.303 回答
2

更新这里的任何绊脚石,但正如 Edgar 在他的回答中提到的,Advantage 10 SQL 现在支持START AT关键字。

SELECT TOP 10 START AT 11 * FROM emp

请参阅:devzone.advantagedatabase.com/dz/webhelp/Advantage10.1/master_limiting_query_results.htm

于 2012-08-02T16:30:28.750 回答
1

据此,在 Advantage 中正确语法是.LIMITSELECT TOP 10 * FROM YOURTABLE

于 2010-02-18T10:52:59.780 回答