Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Databricks SQL
Databricks Runtime 13.3 LTS och senare
Returnerar bitvis OR för alla bitpositioner i gruppen. mellan 0 och 32767 i en grupp som en BINARY.
Funktionen används ofta för att räkna antalet en tät uppsättning distinkta integraltal i kombination med funktionerna bitmap_bucket_number(), bitmap_count()och bitmap_bit_position().
Om du vill aggregera bitmappar i form av integrerad numerisk användning använder du aggregeringsfunktionen bit_or().
Syntax
bitmap_construct_agg(expr) [FILTER ( WHERE cond ) ]
Den här funktionen kan också anropas som en fönsterfunktion med hjälp av OVER -satsen.
Argument
-
expr: Ett helt numeriskt uttryck mellan 0 och 32767 som representerar en bitposition i enBINARYsträng. -
cond: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.
Returer
En BINARY av längd 4096.
Exempel
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val))) FROM VALUES(0) AS T(val);
01
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val))) FROM VALUES(15) AS T(val);
0080
> SELECT hex(trim(TRAILING X'00' FROM bitmap_construct_agg(val)))
FROM VALUES(1), (3), (7), (15), (31) AS T(val);
8A800080
-- 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