ClickHouse/docs/fr/sql-reference/data-types/aggregatefunction.md
Ivan Blinkov d91c97d15d
[docs] replace underscores with hyphens (#10606)
* Replace underscores with hyphens

* remove temporary code

* fix style check

* fix collapse
2020-04-30 21:19:18 +03:00

3.3 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true f865c9653f 52 AggregateFunction (nom, types_of_arguments...)

AggregateFunction(name, types_of_arguments…)

Aggregate functions can have an implementation-defined intermediate state that can be serialized to an AggregateFunction(…) data type and stored in a table, usually, by means of une vue matérialisée. La manière courante de produire un État de fonction dagrégat est dappeler la fonction dagrégat avec le -State suffixe. Pour obtenir le résultat final de lagrégation dans lavenir, vous devez utiliser la même fonction dagrégation avec la -Mergesuffixe.

AggregateFunction — parametric data type.

Paramètre

  • Nom de la fonction dagrégation.

    If the function is parametric, specify its parameters too.
    
  • Types des arguments de la fonction dagrégation.

Exemple

CREATE TABLE t
(
    column1 AggregateFunction(uniq, UInt64),
    column2 AggregateFunction(anyIf, String, UInt8),
    column3 AggregateFunction(quantiles(0.5, 0.9), UInt64)
) ENGINE = ...

uniq, anyIf (tout+Si) et les quantiles les fonctions dagrégation sont-elles prises en charge dans ClickHouse.

Utilisation

Insertion De Données

Pour insérer des données, utilisez INSERT SELECT avec le regroupement d -State- fonction.

Exemples de fonction

uniqState(UserID)
quantilesState(0.5, 0.9)(SendTiming)

Contrairement aux fonctions correspondantes uniq et quantiles, -State- les fonctions renvoient létat, au lieu de la valeur finale. En dautres termes, ils renvoient une valeur de AggregateFunction type.

Dans les résultats de SELECT requête, les valeurs de AggregateFunction type ont une représentation binaire spécifique à limplémentation pour tous les formats de sortie ClickHouse. Si les données de vidage dans, par exemple, TabSeparated format avec SELECT requête, puis ce vidage peut être chargé en utilisant INSERT requête.

Sélection De Données

Lors de la sélection des données AggregatingMergeTree table, utilisez GROUP BY et les mêmes fonctions dagrégat que lors de linsertion de données, mais en utilisant -Mergesuffixe.

Une fonction dagrégation avec -Merge suffixe prend un ensemble détats, les combine, et renvoie le résultat complet de lagrégation de données.

Par exemple, les deux requêtes suivantes retournent le même résultat:

SELECT uniq(UserID) FROM table

SELECT uniqMerge(state) FROM (SELECT uniqState(UserID) AS state FROM table GROUP BY RegionID)

Exemple DUtilisation

Voir AggregatingMergeTree Description du moteur.

Article Original