各グループ内の行を出力フォーマットを使って整形し、その結果を文字列として返します。formatRow と似ていますが、グループ全体に対して動作し、ブロックベースのフォーマットを使用できます。
構文
groupFormat(format)(x, y, ...)パラメータ
format— 出力フォーマット名。たとえばJSONEachRow、CSV、TabSeparated。
引数
x, y, ...— 行形式でフォーマットする式。少なくとも1つの引数が必要です。
戻り値
- グループのフォーマット済み出力を含む String。
NULL の処理
groupArray や groupConcat と同様に、groupFormat では、いずれかの引数が NULL の行はスキップされ、そのような行はフォーマットされた出力には含まれません。引数が Nullable の場合、結果の型は Nullable(String) になります。また、すべての行がスキップされるグループや、型 Nullable(Nothing) の型指定なしリテラル NULL 引数は、汎用の Null combinator によって NULL を返します。
SELECT groupFormat('JSONEachRow')(if(number = 0, NULL, number))
FROM numbers(3);
-- {"c1":1}
-- {"c1":2}例
JSONEachRowの基本的な使い方
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3);結果:
{"c1":0,"c2":"0"}
{"c1":1,"c2":"1"}
{"c1":2,"c2":"2"}groupFormat
導入バージョン: v
各グループの行を指定した出力フォーマットで整形し、その結果を文字列として返します。
フォーマット名はパラメータで渡し、引数には整形対象のカラムを指定します。 整形後の出力では、カラム名は c1, c2, … として生成されます。
構文
groupFormat(format)(x, y, ...)パラメータ
format— 出力フォーマット名。たとえば、JSONEachRow、CSV、TabSeparated。String
引数
x, y, ...— 行としてフォーマットする式。Any
戻り値
グループ用のフォーマット済み出力。String
例
基本的な使い方
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3){"c1":0,"c2":"0"}\n{"c1":1,"c2":"1"}\n{"c1":2,"c2":"2"}\n