Fonction COUNT - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Fonction COUNT

La fonction COUNT compte les lignes définies par l’expression.

La fonction COUNT présente les variantes suivantes.

  • COUNT (*) compte toutes les lignes de la table cible, qu’elles comprennent des valeurs null ou non.

  • COUNT ( expression ) calcule le nombre de lignes avec des valeurs non NULL dans une colonne ou une expression spécifique.

  • COUNT ( DISTINCT expression ) calcule le nombre de valeurs non NULL distinctes dans une colonne ou une expression.

  • APPROXIMATE COUNT DISTINCT donne une approximation du nombre de valeurs distinctes non NULL dans une colonne ou une expression.

Syntaxe

COUNT( * | expression )
COUNT ( [ DISTINCT | ALL ] expression )
APPROXIMATE COUNT ( DISTINCT expression )

Arguments

expression

Colonne cible ou expression sur laquelle la fonction opère. La fonction COUNT prend en charge tous les types de données d’argument.

DISTINCT | ALL

Avec l’argument DISTINCT, la fonction supprime toutes les valeurs en double dans l’expression spécifiée avant d’effectuer le compte. Avec l’argument ALL, la fonction conserve toutes les valeurs en double de l’expression pour le compte. La valeur par défaut est ALL.

APPROXIMATE

Lorsqu'elle est utilisée avec APPROXIMATE, une fonction COUNT DISTINCT utilise un HyperLogLog algorithme pour estimer le nombre de valeurs distinctes non NULL dans une colonne ou une expression. Les requêtes qui utilisent le mot clé APPROXIMATE s’exécutent beaucoup plus rapidement, avec une erreur relative faible d’environ 2 %. L’approximation est garantie pour les requêtes qui renvoient un grand nombre de valeurs distinctes (par millions ou plus encore) par requête, ou par groupe, en cas de clause GROUP BY. Pour les ensembles plus petits de valeurs distinctes (par milliers), l’approximation peut être plus lente qu’un compte précis. La fonction APPROXIMATE peut être utilisée uniquement avec COUNT DISTINCT.

Type de retour

La fonction COUNT renvoie BIGINT.

Exemples

Pour compter tous les utilisateurs de l’état de Floride :

select count(*) from users where state='FL'; count ------- 510

Comptez tous les noms d’événements de la table EVENT :

select count(eventname) from event; count ------- 8798

Comptez tous les noms d’événements de la table EVENT :

select count(all eventname) from event; count ------- 8798

Pour compter tous les ID de lieu uniques de la table EVENT :

select count(distinct venueid) as venues from event; venues -------- 204

Pour compter le nombre de fois où chaque vendeur a répertorié des lots de plus de quatre billets en vente. Pour regrouper les résultats de l’ID du vendeur :

select count(*), sellerid from listing where numtickets > 4 group by sellerid order by 1 desc, 2; count | sellerid ------+---------- 12 | 6386 11 | 17304 11 | 20123 11 | 25428 ...

Les exemples suivants comparent les valeurs de retour et les durées d’exécution de COUNT et de APPROXIMATE COUNT.

select count(distinct pricepaid) from sales; count ------- 4528 Time: 48.048 ms select approximate count(distinct pricepaid) from sales; count ------- 4553 Time: 21.728 ms