[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;
|