APPLY, lo que la hace especialmente útil para tareas de análisis y transformación de datos.
Aprenderemos a usar esta funcionalidad con ayuda del conjunto de datos de taxis de Nueva York, que también puede encontrarse en el Playground de ClickHouse SQL.
Selección de columnas que coinciden con un patrón
_amount del conjunto de datos de taxis de NYC. En lugar de escribir manualmente el nombre de cada columna, podemos usar la expresión COLUMNS con una expresión regular:
Prueba esta consulta en el Playground de SQLEsta consulta devuelve las 10 primeras filas, pero solo de las columnas cuyos nombres coinciden con el patrón
.*_amount (cualquier carácter seguido de “_amount”).
fee o tax.
Podemos actualizar la expresión regular para incluirlos:
Prueba esta consulta en el playground de SQL
Seleccionar varios patrones
Prueba esta consulta en el Playground de SQL
Aplicar funciones a todas las columnas
APPLY para aplicar funciones a todas las columnas.
Por ejemplo, si quisiéramos encontrar el valor máximo de cada una de esas columnas, podríamos ejecutar la siguiente consulta:
Prueba esta consulta en el Playground de SQL
Prueba esta consulta en el Playground de SQL
Pruebe esta consulta en el playground de SQL
APPLY acepta una lambda, lo que nos da la flexibilidad de hacer que la función round redondee nuestros valores medios a 2 decimales:
Pruebe esta consulta en el playground de SQL
Reemplazar columnas
REPLACE, que sustituye una columna sin modificar las demás.
Pruebe esta consulta en el Playground de SQL
Excluir columnas
EXCEPT. Por ejemplo, para quitar la columna tolls_amount, escribiríamos la siguiente consulta:
Prueba esta consulta en el Playground de SQL