ClickHouse/docs/fr/sql-reference/data-types/aggregatefunction.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

3.3 KiB

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 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 d'agrégat est d'appeler la fonction d'agrégat avec le -State suffixe. Pour obtenir le résultat final de l'agrégation dans l'avenir, vous devez utiliser la même fonction d'agrégation avec la -Mergesuffixe.

AggregateFunction — parametric data type.

Paramètre

  • Nom de la fonction d'agrégation.

    If the function is parametric, specify its parameters too.
    
  • Types des arguments de la fonction d'agré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 d'agré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 d'autres 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 à l'implé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 d'agrégat que lors de l'insertion de données, mais en utilisant -Mergesuffixe.

Une fonction d'agrégation avec -Merge suffixe prend un ensemble d'états, les combine, et renvoie le résultat complet de l'agré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 D'Utilisation

Voir AggregatingMergeTree Description du moteur.

Article Original