ClickHouse/docs/en/sql-reference/aggregate-functions/reference/uniq.md
2021-05-11 17:39:35 +03:00

1.6 KiB
Raw Blame History

toc_priority
190

uniq

Calculates the approximate number of different values of the argument.

uniq(x[, ...])

Arguments

The function takes a variable number of parameters. Parameters can be Tuple, Array, Date, DateTime, String, or numeric types.

Returned value

Implementation details

Function:

  • Calculates a hash for all parameters in the aggregate, then uses it in calculations.

  • Uses an adaptive sampling algorithm. For the calculation state, the function uses a sample of element hash values up to 65536.

    This algorithm is very accurate and very efficient on the CPU. When the query contains several of these functions, using `uniq` is almost as fast as using other aggregate functions.
    
  • Provides the result deterministically (it doesnt depend on the query processing order).

We recommend using this function in almost all scenarios.

See Also