3 回答
TA贡献1895条经验 获得超3个赞
纯SQL
SELECT foo , count(*) OVER() AS full_count FROM bar WHERE <some condition>ORDER BY <some col>LIMIT <pagesize>OFFSET <offset>
full_count
<= OFFSET
+ LIMIT
full_count
.
角箱OFFSET
full_count
运行带有限制/偏移量的查询,并获得行总数
WHERE
条款(及 JOIN
条件,而不是这里)从基表中筛选符合条件的行。 (
GROUP BY
聚合函数就在这里)。 窗口函数的应用考虑了所有符合条件的行(取决于 OVER
子句和函数的框架规范)。简约 count(*) OVER()
基于所有行。 ORDER BY
(
DISTINCT
或 DISTINCT ON
) LIMIT
/OFFSET
根据已建立的顺序应用于选择要返回的行。
LIMIT
/ OFFSET
在大表上使用偏移量优化查询
获得最终计票的备选方案
OFFSET
& LIMIT
GET DIAGNOSTICS integer_var = ROW_COUNT;
pg_num_rows
TA贡献1853条经验 获得超6个赞
添加回答
举报