Utilisation des fonctions aggrégats

[1]

PostgreSQL, comme beaucoup d'autres langages de requête, offre des fonctions d'agrégation. Leur implémentation présente pour le moment diverses limitations. Spécifiquement, alors qu'il y a des aggrégats à calculer, certaines fonctions comme count, sum, avg (average), max (maximum) et min (minimum) sur un ensemble d'instances, les aggrégats peuvent seulement apparaître dans la liste cible d'une requête et non directement dans la qualification (la clause where). Exemple,
SELECT max(temp_lo) FROM weather;
    
est admis, tandis que
SELECT city FROM weather WHERE temp_lo = max(temp_lo);
    
ne l'est pas. Cependant, comme c'est souvent le cas, plusieurs requêtes apportent la réponse attendue; ici en utilisant une sous-sélection :
SELECT city FROM weather WHERE temp_lo = (SELECT max(temp_lo) FROM weather);
    

Les aggrégats peuvent aussi dépendre de clauses group by :
SELECT city, max(temp_lo)
    FROM weather
    GROUP BY city;
    

Notes

[1]

NdT. un aggrégat est un partitionnement horizontal d'une relation en fonction des valeurs d'un groupe d'attributs, suivi d'un regroupement par application d'une fonction de calcul sur ensemble.