count
count:
count(expr)илиCOUNT(DISTINCT expr).count()илиCOUNT(*). Синтаксисcount()специфичен для ClickHouse.
COUNT(DISTINCT ...).
Поведение этой конструкции зависит от настройки count_distinct_implementation.
Она определяет, какая из функций uniq* используется для выполнения этой операции.
По умолчанию используется функция uniqExact.
Запрос SELECT count() FROM table по умолчанию оптимизируется с использованием метаданных MergeTree.
Если вам нужно использовать безопасность на уровне строк, отключите эту оптимизацию с помощью настройки optimize_trivial_count_query.
Однако запрос SELECT count(nullable_column) FROM table можно оптимизировать, включив настройку optimize_functions_to_subcolumns.
При optimize_functions_to_subcolumns = 1 функция считывает только подстолбец null вместо чтения и обработки всех данных столбца.
Запрос SELECT count(n) FROM table преобразуется в SELECT sum(NOT n.null) FROM table.
Синтаксис
expr— Необязательный параметр. Выражение. Функция подсчитывает, сколько раз это выражение возвращало не-NULL.Expression
UInt64
Примеры
Простой подсчёт строк
Query
Response
Query
Response