Diese Seite wurde mit KI-Unterstützung aus dem Englischen übersetzt. Bei Abweichungen ist die englische Version maßgeblich.
JSON_GROUP_OBJECT
Aggregiert Schlüssel-Wert-Paare zu einem JSON-Objekt, gruppiert nach einer angegebenen Spalte. JSON_GROUP_OBJECT() sammelt alle Schlüssel-Wert-Paare jeder Gruppe in den angegebenen Spalten und fasst sie für jede Gruppe zu einem einzigen JSON-Objekt zusammen.
Siehe auch:
[SELECT]
Syntax
SELECT JSON_GROUP_OBJECT(key_column, value_column) FROM <multipartIdentifier>
WHERE condition
GROUP BY grouping_column;
Argumente
key_column
Die Spalte, die die Schlüssel für die JSON-Objekte liefert.
value_column
Die Spalte, die die Werte für die JSON-Objekte liefert.
grouping_column
Die Spalte, nach der die Ergebnisse gruppiert werden.
Rückgabewert(e)
Gibt ein JSON-Objekt zurück, das alle aggregierten Schlüssel-Wert-Paare aus den angegebenen Spalten enthält, gruppiert nach der grouping_column.
Beispiele
Repository-Größen nach Programmiersprache aggregieren
-- Example: Group repository names with their corresponding sizes by programming language
SELECT
language,
JSON_GROUP_OBJECT(name, size) AS language_index
FROM
github.repos.repos
WHERE
org = 'stackql'
AND language IS NOT NULL
GROUP BY language;
Diese Abfrage gibt für jede Programmiersprache ein JSON-Objekt zurück, wobei jedes Objekt Repository-Namen und ihre jeweiligen Größen als Schlüssel-Wert-Paare enthält. Hier ist ein Auszug der erwarteten Ausgabe:
|-------------|-----------------------------------------------------------------------------------|
| language | language_index |
|-------------|-----------------------------------------------------------------------------------|
| C | {"go-sqlite3":35667,"data-encryption-spike":50746} |
|-------------|-----------------------------------------------------------------------------------|
| C++ | {"expt-any-sdk":2399,"isqlang":9} |
|-------------|-----------------------------------------------------------------------------------|
| Dockerfile | {"stackql-compliance-checks-devel":8} |
|-------------|-----------------------------------------------------------------------------------|
| Go | {"stackql-provider-registry":115711, ...} |
|-------------|-----------------------------------------------------------------------------------|
Diese Ausgabe ist nützlich, um die Verteilung der Repository-Größen über verschiedene Programmiersprachen innerhalb einer Organisation zu visualisieren, und liefert übersichtliche und geordnete, nach Sprache gruppierte Daten.