PostgreSQL ha avuto funzioni finestra per un po' di tempo che può essere utilizzato per fare molte cose, incluso il conteggio delle righe prima dell'applicazione di LIMIT.
Basato sull'esempio sopra:
SELECT stuff,
count(*) OVER() AS total_count
FROM table
WHERE condition
ORDER BY stuff OFFSET 40 LIMIT 20