From b189d5599e86eae7a2d980e7610bc2a4c540ad4d Mon Sep 17 00:00:00 2001 From: Charles Smith Date: Fri, 17 Nov 2023 09:31:14 -0800 Subject: [PATCH] clafiry DISTINCT is optional for COUNT() --- docs/querying/sql-aggregations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/querying/sql-aggregations.md b/docs/querying/sql-aggregations.md index b6a6748e624f2..60a2e7a0074e0 100644 --- a/docs/querying/sql-aggregations.md +++ b/docs/querying/sql-aggregations.md @@ -70,7 +70,7 @@ In the aggregation functions supported by Druid, only `COUNT`, `ARRAY_AGG`, and |Function|Notes|Default| |--------|-----|-------| |`COUNT(*)`|Counts the number of rows.|`0`| -|`COUNT(DISTINCT expr)`|Counts distinct values of `expr`.

When `useApproximateCountDistinct` is set to "true" (the default), this is an alias for `APPROX_COUNT_DISTINCT`. The specific algorithm depends on the value of [`druid.sql.approxCountDistinct.function`](../configuration/index.md#sql). In this mode, you can use strings, numbers, or prebuilt sketches. If counting prebuilt sketches, the prebuilt sketch type must match the selected algorithm.

When `useApproximateCountDistinct` is set to "false", the computation will be exact. In this case, `expr` must be string or numeric, since exact counts are not possible using prebuilt sketches. In exact mode, only one distinct count per query is permitted unless `useGroupingSetForExactDistinct` is enabled.

Counts each distinct value in a [`multi-value`](../querying/multi-value-dimensions.md)-row separately.|`0`| +|`COUNT([DISTINCT] expr)`|Counts the values of `expr`.

By default, specifing DISTINCT serves as an alias for `APPROX_COUNT_DISTINCT` (`useApproximateCountDistinct=true`). The specific algorithm depends on the value of [`druid.sql.approxCountDistinct.function`](../configuration/index.md#sql). In this mode, you can use strings, numbers, or prebuilt sketches. If counting prebuilt sketches, the prebuilt sketch type must match the selected algorithm.

When `useApproximateCountDistinct=false`, returns the exact computation. In this case, `expr` must be string or numeric, since exact counts are not possible using prebuilt sketches. In exact mode, only one distinct count per query is permitted unless `useGroupingSetForExactDistinct` is enabled.

Counts each distinct value in a [`multi-value`](../querying/multi-value-dimensions.md)-row separately.|`0`| |`SUM(expr)`|Sums numbers.|`null` or `0` if `druid.generic.useDefaultValueForNull=true` (legacy mode)| |`MIN(expr)`|Takes the minimum of numbers.|`null` or `9223372036854775807` (maximum LONG value) if `druid.generic.useDefaultValueForNull=true` (legacy mode)| |`MAX(expr)`|Takes the maximum of numbers.|`null` or `-9223372036854775808` (minimum LONG value) if `druid.generic.useDefaultValueForNull=true` (legacy mode)|