Fonction bitmap_count

S’applique à : coche marquée oui Databricks SQL case marquée oui Databricks Runtime 13.3 LTS et versions ultérieures

Renvoie le nombre de bits définis dans une chaîne BINARY représentant un bitmap. Cette fonction est généralement utilisée pour compter des valeurs distinctes en combinaison avec les fonctions bitmap_bucket_number() et bitmap_construct_agg().

Pour compter les bits dans une expression BIGINT, utilisez la fonction bit_count.

Syntaxe

bitmap_count(expr)

Arguments

Retours

Un BIGINT qui est >=0.

Exemples

> SELECT bitmap_count(X'00');
 0

> SELECT bitmap_count(X'');
 0

> SELECT bitmap_count(X'7700CC');
 10

-- Count the number of distinct values
> SELECT sum(num_distinct) AS num_distinct
    FROM (SELECT bitmap_bucket_number(val),
                 bitmap_count(bitmap_construct_agg(bitmap_bit_position(val)))
            FROM VALUES(1), (2), (1), (-1), (5), (0), (5) AS t(val)
            GROUP BY ALL) AS distinct_vals_by_bucket(bucket, num_distinct)
  5