COUNTfonction - 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.

COUNTfonction

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

La COUNT fonction comporte les variantes suivantes.

  • COUNT(*) compte toutes les lignes de la table cible, qu'elles incluent des valeurs nulles ou non.

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

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

  • APPROXIMATECOUNTDISTINCTindique approximativement le nombre de NULL non-valeurs distinctes 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 COUNT fonction prend en charge tous les types de données d'arguments.

DISTINCT | ALL

Avec l'argumentDISTINCT, la fonction élimine toutes les valeurs dupliquées de l'expression spécifiée avant de procéder au décompte. Avec l'argumentALL, la fonction conserve toutes les valeurs dupliquées de l'expression à des fins de comptage. ALLest la valeur par défaut.

APPROXIMATE

Lorsqu'elle est utilisée avecAPPROXIMATE, une COUNT DISTINCT fonction utilise un HyperLogLog algorithme pour estimer le nombre de NULL non-valeurs distinctes dans une colonne ou une expression. Les requêtes qui utilisent le APPROXIMATE mot clé s'exécutent beaucoup plus rapidement, avec une faible erreur relative 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. APPROXIMATEne peut être utilisé qu'avec COUNTDISTINCT.

Type de retour

La COUNT fonction revientBIGINT.

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 figurant dans le EVENT tableau :

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

Comptez tous les noms d'événements figurant dans le EVENT tableau :

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

Comptez tous les lieux uniques IDs à partir du EVENT tableau :

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 renvoyées et les temps d'exécution pour COUNT et APPROXIMATECOUNT.

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