gpt4 book ai didi

c# - 判断结果是否多于请求(分页)的最佳方法?

转载 作者:太空宇宙 更新时间:2023-11-03 21:58:31 26 4
gpt4 key购买 nike

我正在运行一个检索 20 行的查询(例如)。我想知道是否有 21 个,这样我就可以相应地启用“下一页”按钮。目前,我正在检索 pageSize + 1 并返回一个 bool 值作为 out 参数,该参数根据是否检索到 21(在本例中)行分配它的值,但实际上只会将 20 作为列表返回。这意味着我正在检索一个额外的查询,然后我只是忽略它对性能来说不是理想的,我不想运行计数 (*),因为它完全是另一个查询。

注意:使用分页数据源并不是一个真正的选择,必须坚持使用 rowlimit 和起始行。

感谢您的任何建议。

最佳答案

您可以使用嵌套查询,如下所示:

 select    TOP 20 *,
(select count(*) from tableName) as TotalCount
from tableName

然后每一行都会有总计列,所以你可以检查一下。

或者,您可以使用此语法,避免嵌套选择。当您有额外的谓词(不必在嵌套选择中重复)时,这将变得更加方便:

 select    TOP 20 *, count(*) over() as TotalCount
from tableName

关于c# - 判断结果是否多于请求(分页)的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11207146/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com