Passer au contenu principal

Description

Le combinateur SimpleState peut être appliqué à la fonction min pour renvoyer la valeur minimale parmi toutes les valeurs d’entrée. Il renvoie le résultat sous le type SimpleAggregateFunction.

Exemple d’utilisation

Voyons un exemple concret avec une table qui suit des relevés quotidiens de température. Pour chaque lieu, nous voulons conserver la température la plus basse enregistrée. L’utilisation du type SimpleAggregateFunction avec min met automatiquement à jour la valeur stockée lorsqu’une température plus basse est relevée. Créez la table source pour les relevés bruts de température :
Créez la table d’agrégation qui stockera les températures minimales :
Créez une vue matérialisée incrémentielle qui fera office de déclencheur d’insertion pour les données insérées et conservera les températures minimales et maximales par lieu.
Insérez quelques relevés initiaux de température :
Ces relevés sont automatiquement traités par la vue matérialisée. Vérifions l’état actuel :
Insérez quelques données supplémentaires :
Consultez les valeurs extrêmes mises à jour après l’ajout de nouvelles données :
Notez ci-dessus que nous avons deux valeurs insérées pour chaque lieu. Cela s’explique par le fait que les parts n’ont pas encore été fusionnées (ni agrégées par AggregatingMergeTree). Pour obtenir le résultat final à partir des états partiels, nous devons ajouter un GROUP BY :
On obtient maintenant le résultat attendu :
Avec SimpleState, vous n’avez pas besoin d’utiliser le combinateur Merge pour fusionner les états d’agrégation partiels.

Voir aussi

Dernière modification le 2 juillet 2026