3 回答

TA貢獻1895條經(jīng)驗 獲得超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
運行帶有限制/偏移量的查詢,并獲得行總數(shù)
WHERE
條款(及 JOIN
條件,而不是這里)從基表中篩選符合條件的行。 (
GROUP BY
聚合函數(shù)就在這里)。 窗口函數(shù)的應用考慮了所有符合條件的行(取決于 OVER
子句和函數(shù)的框架規(guī)范)。簡約 count(*) OVER()
基于所有行。 ORDER BY
(
DISTINCT
或 DISTINCT ON
) LIMIT
/OFFSET
根據(jù)已建立的順序應用于選擇要返回的行。
LIMIT
/ OFFSET
在大表上使用偏移量優(yōu)化查詢
獲得最終計票的備選方案
OFFSET
& LIMIT
GET DIAGNOSTICS integer_var = ROW_COUNT;
pg_num_rows

TA貢獻1853條經(jīng)驗 獲得超6個贊
添加回答
舉報