ClickHouse/docs/zh/sql-reference/aggregate-functions/reference/uniq.md
2021-03-25 17:09:19 +08:00

1.4 KiB
Raw Blame History

toc_priority
190

uniq

Calculates the approximate number of different values of the argument.

uniq(x[, ...])

Parameters

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