PostgreSQL hatte Fensterfunktionen für eine Weile, die für viele Dinge verwendet werden kann, einschließlich des Zählens von Zeilen, bevor LIMIT angewendet wird.
Basierend auf dem obigen Beispiel:
SELECT stuff,
count(*) OVER() AS total_count
FROM table
WHERE condition
ORDER BY stuff OFFSET 40 LIMIT 20