gpt4 book ai didi

sql - 从查询中选择 FIRST X,但获取计数(例如用于分页)

转载 作者:行者123 更新时间:2023-12-02 20:07:42 25 4
gpt4 key购买 nike

我想返回前 x 行,但也需要我选择的项目总数。在 MSSQL 中我解决了这个问题,但在 Interbase 中我没有找到相同的解决方案。

Firebird 也存在这样的说法吗?

还有一个普遍问题,这种嵌入函数(也在 MSSQL 中)实际上比执行第二条语句以获得总行数更快吗?

最佳答案

您需要两个单独的请求。

一种是使用 SQL 兼容的 offsetfetch 从 Firebird 3 开始接收有限的行集,或者使用 rows 子句或 first & 跳过:

select field1, field2
from mytable
[where conditions]
[offset 0 rows] fetch first 10 rows only

另一个是接收总记录数:

从 mytable [where 条件]中选择 count(*)

请注意,最后一个查询对于复杂查询和/或大量数据可能会代价高昂。通常对于大量数据会使用其他方法。一种是专用的 FTS 引擎,例如 SphinxSearch。例如,Google 会为您提供大概的结果计数。

关于sql - 从查询中选择 FIRST X,但获取计数(例如用于分页),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54270212/

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