SOQL查询行号在范围内

时间:2013-04-03 22:12:47

标签: salesforce force.com soql

如何在SOQL中创建查询,如:

SELECT Id FROM User WHERE rownum > 101 AND rownum < 200

我正在尝试在加载前100个页面时进行分页,然后如果单击“加载更多”,我可以查询下一个100。

1 个答案:

答案 0 :(得分:3)

出于分页的目的,通常只需要创建整个查询(在您的示例中只是SELECT Id FROM User),将批量大小设置为页面大小,然后使用queryMore()得到下一批。此方法确实要求您存储来自初始查询的QueryResult的QueryLocator - 我上面链接的文章中的示例代码显示了它的一些很好的示例。

如果您使用Visualforce页面执行此操作,则还有另一个选项 - SOQL还有一个OFFSET子句,您可以使用该子句滚动到特定行。 Here's an article that describes it.但要小心 - 如果用户翻页太多,OFFSET会受到一些限制,如果有特定的话,请参阅this page的SOSL和SOQL限制部分。)