翻訳ページ
このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。
JSON_GROUP_OBJECT
キーと値のペアを、指定した列でグループ化して JSON オブジェクトに集約します。JSON_GROUP_OBJECT() は、指定した列のすべてのキーと値のペアをグループごとに収集し、グループごとに 1 つの JSON オブジェクトにまとめます。
関連項目:
[SELECT]
構文
SELECT JSON_GROUP_OBJECT(key_column, value_column) FROM <multipartIdentifier>
WHERE condition
GROUP BY grouping_column;
引数
key_column
JSON オブジェクトのキーを提供する列。
value_column
JSON オブジェクトの値を提供する列。
grouping_column
結果をグループ化する基準となる列。
戻り値
指定した列から集約したすべてのキーと値のペアを含む JSON オブジェクトを、grouping_column に従ってグループ化して返します。
例
プログラミング言語ごとにリポジトリサイズを集約する
-- 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;
このクエリは、プログラミング言語ごとに JSON オブジェクトを返します。各オブジェクトには、リポジトリ名とそれに対応するサイズがキーと値のペアとして含まれます。想定される出力の例は次のとおりです:
|-------------|-----------------------------------------------------------------------------------|
| 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, ...} |
|-------------|-----------------------------------------------------------------------------------|
この出力は、組織内のリポジトリサイズがプログラミング言語ごとにどう分布しているかを可視化するのに役立ちます。言語別にグループ化された、明確で整理されたデータが得られます。