3 回答

TA貢獻2019條經驗 獲得超9個贊
純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貢獻1982條經驗 獲得超2個贊
添加回答
舉報