Accéder au contenu principal Passer au contenu complémentaire

Fonctions d'agrégation

Les fonctions d'agrégation sont généralement utilisées avec une clause GROUP BY, mais elles peuvent également être utilisées dans des clauses FROM-WHERE-SELECT standards et dans des conditions dans un contexte GROUP BY.

Quand utiliser les fonctions d'agrégation

Les fonctions d'agrégation fonctionnent dans des contextes itératifs, traitant les valeurs de plusieurs lignes ou éléments. Utilisez des fonctions d'agrégation lorsque vous employez des requêtes qui incluent des clauses GROUP BY ou lorsque vous agrégez des valeurs d'un jeu de données dans une requête FROM-SELECT.

Par exemple, pour calculer la note moyenne de tous les enregistrements de clients :
FROM customer
SELECT avg(rating)
Vous pouvez également utiliser des fonctions d'agrégation dans une condition lorsque l'expression se trouve dans le périmètre d'un contexte GROUP BY. Par exemple :
FROM order
GROUP BY custid AS cid
SELECT {
  customer_id = cid,
  order_status = if (count(orderno) == 1) 'One order' ELSE IF (count(orderno) == 2) 'Two orders' ELSE 'At least three orders'
}
ORDER BY cid
Les fonctions d'agrégation dans des conditions ne sont pas supportées en dehors d'un contexte GROUP BY. Par exemple, le script suivant n'est pas supporté :
FROM customer
WHERE hasValue(rating)
SELECT IF (avg(rating) > 500) 'Good customers' ELSE 'Bad customers'

Pour distinguer les fonctions d'agrégation des fonctions de tableau : les fonctions d'agrégation traitent les valeurs dans un contexte itératif, tandis que les fonctions de tableau agissent sur une seule valeur de collection. Pour les opérations de tableau, consultez Fonctions de tableau.

Fonctions d'agrégation supplémentaires

Les fonctions suivantes peuvent également être utilisées comme fonctions d'agrégation :

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.