Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Arrays erstellen
Zum Erstellen eines Arrayliterals in Athena verwenden Sie das Schlüsselwort ARRAY
, gefolgt von Klammern [ ]
, und schließen die durch Kommata getrennten Array-Elemente ein.
Beispiele
Diese Abfrage erstellt ein Array mit vier Elementen.
SELECT ARRAY [1,2,3,4] AS items
Folgendes wird zurückgegeben:
+-----------+
| items |
+-----------+
| [1,2,3,4] |
+-----------+
Diese Abfrage erstellt zwei Arrays.
SELECT ARRAY[ ARRAY[1,2], ARRAY[3,4] ] AS items
Folgendes wird zurückgegeben:
+--------------------+
| items |
+--------------------+
| [[1, 2], [3, 4]] |
+--------------------+
Zum Erstellen eines Arrays aus ausgewählten Spalten kompatibler Typen nutzen Sie eine Abfrage, wie im folgenden Beispiel gezeigt:
WITH dataset AS ( SELECT 1 AS x, 2 AS y, 3 AS z ) SELECT ARRAY [x,y,z] AS items FROM dataset
Diese Abfrage gibt Folgendes zurück:
+-----------+
| items |
+-----------+
| [1,2,3] |
+-----------+
Im folgenden Beispiel werden zwei Arrays ausgewählt und in Form einer Willkommensnachricht zurückgegeben.
WITH dataset AS ( SELECT ARRAY ['hello', 'amazon', 'athena'] AS words, ARRAY ['hi', 'alexa'] AS alexa ) SELECT ARRAY[words, alexa] AS welcome_msg FROM dataset
Diese Abfrage gibt Folgendes zurück:
+----------------------------------------+
| welcome_msg |
+----------------------------------------+
| [[hello, amazon, athena], [hi, alexa]] |
+----------------------------------------+
Zum Erstellen eines Arrays aus Schlüssel/Wert-Paaren nutzen Sie den MAP
-Operator. Dieser verwendet ein Schlüssel-Array gefolgt von einem Werte-Array, wie im folgenden Beispiel gezeigt:
SELECT ARRAY[ MAP(ARRAY['first', 'last', 'age'],ARRAY['Bob', 'Smith', '40']), MAP(ARRAY['first', 'last', 'age'],ARRAY['Jane', 'Doe', '30']), MAP(ARRAY['first', 'last', 'age'],ARRAY['Billy', 'Smith', '8']) ] AS people
Diese Abfrage gibt Folgendes zurück:
+-----------------------------------------------------------------------------------------------------+
| people |
+-----------------------------------------------------------------------------------------------------+
| [{last=Smith, first=Bob, age=40}, {last=Doe, first=Jane, age=30}, {last=Smith, first=Billy, age=8}] |
+-----------------------------------------------------------------------------------------------------+