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 以外の値を返した回数をカウントします。式
UInt64
例
基本的な行数カウント
Query
Response
Query
Response