L'agrégation conditionnelle calcule plusieurs agrégats filtrés dans une même requête en plaçant un CASE WHEN dans la fonction d'agrégation, ou avec la clause FILTER de PostgreSQL. Elle produit par exemple une colonne par statut en un seul passage sur la table.
Exemple
SELECT COUNT(*) FILTER (WHERE statut = 'payee') AS payees, SUM(CASE WHEN statut = 'annulee' THEN 1 ELSE 0 END) AS annulees FROM commandes;