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 BINARY indatavärden i gruppen.
Funktionen används ofta för att räkna antalet distinkta integraltal i kombination med funktionerna bitmap_bucket_number(), bitmap_count(), bitmap_bit_position()och bitmap_construct_agg().
Om du vill aggregera bitmappar i form av integrerad numerisk användning använder du aggregeringsfunktionen bit_or().
Om du vill aggregera bitpositioner i en BINARY bitmapp använder du bitmap_construct_agg().
Syntax
bitmap_or_agg(expr) [FILTER ( WHERE cond ) ]
Den här funktionen kan också anropas som en fönsterfunktion med hjälp av OVER -satsen.
Argument
-
expr: EnBINARYlängd<= 4096som representerar en bitmapp. Azure Databricks trunkerar längre värden till 4096. -
cond: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.
Returer
En BINARY med längd 4096.
Exempel
> SELECT hex(trim(TRAILING X'00' FROM bitmap_or_agg(val))) FROM VALUES(x'10'), (x'02') AS T(val);
12
-- Count the number of distinct values across two tables
> SELECT sum(num_distinct) AS num_distinct
FROM (SELECT bucket, bitmap_count(bitmap_or_agg(num_distinct)) AS num_distinct
FROM ((SELECT bitmap_bucket_number(val) AS bucket,
bitmap_construct_agg(bitmap_bit_position(val)) AS num_distinct
FROM VALUES(1), (2), (1), (-1), (5), (0), (5) AS t(val)
GROUP BY ALL)
UNION ALL
(SELECT bitmap_bucket_number(val) AS bucket,
bitmap_construct_agg(bitmap_bit_position(val)) AS num_distinct
FROM VALUES(3), (1), (-1), (6), (5), (1), (5), (8) AS t(val)
GROUP BY ALL))
GROUP BY ALL);
8