Formatea las filas de cada grupo mediante un formato de salida y devuelve los datos formateados como una cadena. Es similar a formatRow, pero funciona con el grupo completo y puede usar formatos basados en bloques.
Sintaxis
groupFormat(format)(x, y, ...)Parámetros
format— Nombre del formato de salida, por ejemplo,JSONEachRow,CSV,TabSeparated.
Argumentos
x, y, ...— Expresiones que se formatean como filas. Se requiere al menos un argumento.
Valor devuelto
- Un String que contiene la salida con formato del grupo.
Manejo de NULL
Al igual que groupArray y groupConcat, groupFormat omite una fila cuando cualquiera de sus argumentos es NULL; esas filas no aparecen en la salida con formato. Cuando un argumento es Nullable, el tipo de resultado es Nullable(String), y un grupo en el que se omiten todas las filas — así como un argumento NULL literal sin tipo, de tipo Nullable(Nothing) — devuelve NULL mediante el combinador genérico Null.
SELECT groupFormat('JSONEachRow')(if(number = 0, NULL, number))
FROM numbers(3);
-- {"c1":1}
-- {"c1":2}Ejemplos
Uso básico con JSONEachRow
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3);Resultado:
{"c1":0,"c2":"0"}
{"c1":1,"c2":"1"}
{"c1":2,"c2":"2"}groupFormat
Introducido en: v
Da formato a las filas de cada grupo con el formato de salida especificado y devuelve el resultado como una cadena.
El nombre del formato se pasa como parámetro, y los argumentos son las columnas a las que se aplicará el formato. Los nombres de las columnas se generan como c1, c2, … en la salida con formato.
Sintaxis
groupFormat(format)(x, y, ...)Parámetros
format— Nombre del formato de salida. Por ejemplo, JSONEachRow, CSV, TabSeparated.String
Argumentos
x, y, ...— Expresiones que se formatearán como filas.Any
Valor devuelto
Salida con formato para el grupo. String
Ejemplos
Uso básico
SELECT groupFormat('JSONEachRow')(number, toString(number))
FROM numbers(3){"c1":0,"c2":"0"}\n{"c1":1,"c2":"1"}\n{"c1":2,"c2":"2"}\n