Utilizzo delle funzioni di aggregazione con le matrici - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo delle funzioni di aggregazione con le matrici

  • Per aggiungere valori all'interno di un array, utilizza SUM, come nell'esempio seguente.

  • Per aggregare più righe all'interno di un array, utilizza array_agg. Per informazioni, consultare Creazione di matrici da sottoquery.

Nota

ORDER BY è supportato per le funzioni di aggregazione a partire dalla versione 2 del motore Athena.

WITH dataset AS ( SELECT ARRAY [ ARRAY[1,2,3,4], ARRAY[5,6,7,8], ARRAY[9,0] ] AS items ), item AS ( SELECT i AS array_items FROM dataset, UNNEST(items) AS t(i) ) SELECT array_items, sum(val) AS total FROM item, UNNEST(array_items) AS t(val) GROUP BY array_items;

Nell'ultima istruzione SELECT, invece di utilizzare sum() e UNNEST, è possibile utilizzare reduce() per ridurre il tempo di elaborazione e il trasferimento dei dati, come nell'esempio seguente.

WITH dataset AS ( SELECT ARRAY [ ARRAY[1,2,3,4], ARRAY[5,6,7,8], ARRAY[9,0] ] AS items ), item AS ( SELECT i AS array_items FROM dataset, UNNEST(items) AS t(i) ) SELECT array_items, reduce(array_items, 0 , (s, x) -> s + x, s -> s) AS total FROM item;

Qualsiasi query restituisce i seguenti risultati. L'ordine dei risultati restituiti non è garantito.

+----------------------+ | array_items | total | +----------------------+ | [1, 2, 3, 4] | 10 | | [5, 6, 7, 8] | 26 | | [9, 0] | 9 | +----------------------+