APPLY, ce qui en fait une fonctionnalité particulièrement utile pour les tâches d’analyse et de transformation des données.
Nous allons voir comment utiliser cette fonctionnalité à l’aide du jeu de données des taxis de New York, que vous pouvez également retrouver dans le ClickHouse SQL playground.
Sélectionner les colonnes correspondant à un motif
_amount dans le jeu de données des taxis de New York. Au lieu de saisir manuellement chaque nom de colonne, nous pouvons utiliser l’expression COLUMNS avec une expression régulière :
Essayez cette requête dans le SQL playgroundCette requête renvoie les 10 premières lignes, mais uniquement pour les colonnes dont le nom correspond au motif
.*_amount (n’importe quelle suite de caractères suivie de “_amount”).
fee ou tax.
Nous pouvons modifier l’expression régulière pour les inclure :
Essayez cette query dans le Playground SQL
Sélection de plusieurs motifs
Essayez cette requête dans le SQL playground
Appliquer des fonctions à toutes les colonnes
APPLY pour appliquer des fonctions à l’ensemble des colonnes.
Par exemple, si nous voulions trouver la valeur maximale de chacune de ces colonnes, nous pourrions exécuter la requête suivante :
Essayez cette requête dans le SQL playground
Essayez cette requête dans le SQL playground
avg, suivie de la fonction round :
Essayez cette requête dans le SQL playground
APPLY accepte une expression lambda, ce qui nous permet de faire en sorte que la fonction d’arrondi arrondisse nos valeurs moyennes à 2 décimales :
Essayez cette requête dans le SQL playground
Remplacer des colonnes
REPLACE, qui remplace une colonne tout en laissant les autres inchangées.
Testez cette requête dans le SQL playground
Exclusion de colonnes
EXCEPT. Par exemple, pour supprimer la colonne tolls_amount, on écrirait la requête suivante :
Essayez cette requête dans le SQL playground