Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

集約関数

ClickHouse は、標準的な SQL の集約関数 (sumavgminmaxcount) をすべてサポートしているほか、幅広い種類の集約関数も提供しています。

ページ 説明
groupFormat 各グループの行を出力フォーマットを使用してフォーマットし、そのフォーマット済みデータを文字列として返します。
aggThrow この関数は、例外安全性のテストに使用できます。指定された確率で、作成時に例外をスローします。
analysisOfVariance 一元配置分散分析 (ANOVA 検定) のための統計的検定を提供します。これは、正規分布に従う複数の観測グループを対象に、すべてのグループの平均が同じかどうかを調べる検定です。
any カラムで最初に見つかった値を選択します。
anyHeavy heavy hitters アルゴリズムを使用して、頻出する値を選択します。クエリ実行スレッドごとに、半数を超えて出現する値がある場合、その値が返されます。通常、結果は決定論的ではありません。
anyLast カラムで最後に見つかった値を選択します。
approx_top_k 指定したカラムについて、おおよそ最も頻出する値とそのカウントの配列を返します。
approx_top_sum 指定したカラムについて、おおよそ最も頻出する値とそのカウントの配列を返します。
argAndMax 最大の val 値に対応する argval の値を計算します。最大値となる同じ val を持つ複数の行がある場合、対応する argval のどれが返されるかは決定論的ではありません。
argAndMin 最小の val 値に対応する argval の値を計算します。最小値となる同じ val を持つ複数の行がある場合、対応する argval のどれが返されるかは決定論的ではありません。
argMax 最大の val 値に対応する arg の値を計算します。
argMin 最小の val 値に対応する arg の値を計算します。最小値となる同じ val を持つ複数の行がある場合、対応する arg のどれが返されるかは決定論的ではありません。
avg 算術平均を計算します。
avgWeighted 加重算術平均を計算します。
boundingRatio 値のグループ全体にわたって、最も左の点と最も右の点の間の傾きを計算する集約関数です。
categoricalInformationValue 各カテゴリについて、(P(tag = 1) - P(tag = 0))(log(P(tag = 1)) - log(P(tag = 0))) の値を計算します。
contingency contingency 関数は、テーブル内の 2 つのカラム間の関連性を表す値である連関係数を計算します。計算方法は cramersV 関数と似ていますが、平方根内の分母が異なります。
corr Pearson の相関係数を計算します。
corrMatrix N 個の変数に対する相関行列を計算します。
corrStable Pearson の相関係数を計算しますが、数値的に安定したアルゴリズムを使用します。
count 行数、または NULL でない値の数をカウントします。
covarPop 母共分散を計算します。
covarPopMatrix N 個の変数に対する母共分散行列を返します。
covarPopStable 母共分散の値を計算します。
covarSamp Σ((x - x̅)(y - y̅)) / (n - 1) の値を計算します。
covarSampMatrix N 個の変数に対する標本共分散行列を返します。
covarSampStable covarSamp と似ていますが、計算誤差を抑える代わりに処理速度は低下します。
cramersV cramersV 関数の結果は 0 (変数間に関連性がないことを示す) から 1 の範囲を取り、各値がもう一方によって完全に決定される場合にのみ 1 に達します。これは、2 つの変数間の関連性を、それらの取りうる最大変動に対する割合として捉えることができます。
cramersVBiasCorrected Cramer's V を計算しますが、バイアス補正を使用します。
deltaSum 連続する行の算術差を合計します。
deltaSumTimestamp 連続する行の差を加算します。差が負の場合は無視されます。
distinctDynamicTypes Dynamic カラムに格納されている異なるデータ型の一覧を計算します。
distinctJSONPaths JSON カラムに格納されている異なるパスの一覧を計算します。
distinctJSONPathsAndTypes JSON に格納されている異なるパスとその型の一覧を計算します。
entropy 値のカラムのシャノンエントロピーを計算します。
estimateCompressionRatio 指定されたカラムを実際に圧縮せずに、その圧縮率を推定します。
exponentialMovingAverage 指定した時点における値の指数移動平均を計算します。
exponentialTimeDecayedAvg 時刻 t における時系列の値の、指数平滑化された加重移動平均を返します。
exponentialTimeDecayedCount 時刻 t のインデックスにおける時系列の累積指数減衰を返します。
exponentialTimeDecayedMax 時刻 t のインデックスにおける計算済みの指数平滑化移動平均と、t-1 におけるその値との最大値を返します。
exponentialTimeDecayedSum 時刻 t のインデックスにおける時系列の指数平滑化移動平均値の合計を返します。
first_value any のエイリアスですが、ウィンドウ関数との互換性のために導入されました。ウィンドウ関数では NULL 値を処理する必要がある場合があるためです (デフォルトでは、ClickHouse のすべての集約関数は NULL 値を無視します) 。
flameGraph スタックトレースの一覧を使ってフレームグラフを構築する集約関数です。
groupArray 引数の値から配列を作成します。値は任意の (不定な) 順序で配列に追加されます。
groupArrayArray 複数の配列を、それらを要素とするより大きな配列に集約します。
groupArrayInsertAt 配列の指定した位置に値を挿入します。
groupArrayIntersect 指定した配列の積集合を返します (指定されたすべての配列に含まれる要素を返します) 。
groupArrayLast 最後の引数値から配列を作成します。
groupArrayMovingAvg 入力値の移動平均を計算します。
groupArrayMovingSum 入力値の移動合計を計算します。
groupArraySample 引数値のサンプルから配列を作成します。結果の配列のサイズは max_size 要素に制限されます。引数の値はランダムに選択され、配列に追加されます。
groupArraySorted 先頭から N 個の要素を昇順に並べた配列を返します。
groupBitAnd 一連の数値に対してビット単位の AND を適用します。
groupBitmap 符号なし整数カラムに対してビットマップまたは集約計算を行い、UInt64 型のカーディナリティを返します。接尾辞 -State を追加した場合は、ビットマップオブジェクトを返します。
groupBitmapAnd ビットマップカラムに対して AND を計算し、UInt64 型のカーディナリティを返します。接尾辞 -State を追加した場合は、ビットマップオブジェクトを返します。
groupBitmapOr ビットマップカラムに対して OR を計算し、UInt64 型のカーディナリティを返します。接尾辞 -State を追加した場合は、ビットマップオブジェクトを返します。これは groupBitmapMerge と同等です。
groupBitmapXor ビットマップカラムに対して XOR を計算し、UInt64 型のカーディナリティを返します。接尾辞 -State を使用した場合は、ビットマップオブジェクトを返します。
groupBitOr 一連の数値に対してビット単位の OR を適用します。
groupBitXor 一連の数値に対してビット単位の XOR を適用します。
groupConcat 文字列のグループから連結文字列を計算します。必要に応じて区切り文字で区切ることも、要素数の上限を指定することもできます。
groupUniqArray 異なる引数値から配列を作成します。
intervalLengthSum すべての範囲の和集合の長さの合計 (数値軸上の線分) を計算します。
kolmogorovSmirnovTest 2 つの母集団から得たサンプルに Kolmogorov-Smirnov 検定を適用します。
kurtPop 数列の尖度を計算します。
kurtSamp 数列の標本尖度を計算します。
largestTriangleThreeBuckets 入力データに Largest-Triangle-Three-Buckets アルゴリズムを適用します。
last_value anyLast と同様に最後に検出された値を選択しますが、NULL を受け取ることもできます。
mannWhitneyUTest 2 つの母集団から得たサンプルに Mann-Whitney の順位検定を適用します。
max 値のグループ全体における最大値を計算する集約関数です。
maxIntersections 区間のグループ同士が交差する最大回数を計算する集約関数です (すべての区間が少なくとも 1 回は交差する場合) 。
maxIntersectionsPosition maxIntersections 関数が発生する位置を計算する集約関数です。
maxMap key 配列で指定したキーに従って、value 配列から最大値を計算します。
meanZTest 2 つの母集団から得たサンプルに平均 z 検定を適用します。
median median* 関数は、対応する quantile* 関数の別名です。数値データのサンプルの中央値を計算します。
min 値のグループ全体における最小値を計算する集約関数です。
minMap key 配列で指定したキーに従って、value 配列から最小値を計算します。
quantile 数値データ列のおおよその分位数を計算します。
quantileBFloat16 bfloat16 numbers で構成されるサンプルのおおよその分位数を計算します。
quantileDD 相対誤差保証付きでサンプルのおおよその分位数を計算します。
quantileDeterministic 数値データ列のおおよその分位数を計算します。
quantileExact Functions quantileExact、quantileExactLow、quantileExactHigh、quantileExactExclusive、quantileExactInclusive 関数
quantileExactExclusive 数値データ列の分位数を正確に計算します。
quantileExactHigh quantileExact と同様に、数値データ列の正確な分位数を計算します。
quantileExactInclusive 数値データ列の分位数を正確に計算します。
quantileExactLow quantileExact と同様に、数値データ列の正確な quantile を計算します。
quantileExactWeighted 各要素の重みを考慮して、数値データ列の分位数を正確に計算します。
quantileExactWeightedInterpolated 各要素の重みを考慮し、線形補間を用いて数値データ列の分位数を計算します。
quantileGK Greenwald-Khanna アルゴリズムを使用して数値データ列の分位数を計算します。
quantileInterpolatedWeighted 各要素の重みを考慮し、線形補間を用いて数値データ列の分位数を計算します。
quantilePrometheusHistogram 線形補間を使用してヒストグラムの分位数を計算します。
quantiles Functions quantiles、quantilesExactExclusive、quantilesExactInclusive、quantilesGK
quantilesExactExclusive 数値データ列の分位数を正確に計算します。
quantilesExactInclusive 数値データ列の分位数を正確に計算します。
quantilesGK quantilesGK は quantileGK と同様に動作しますが、異なるレベルの分位数を同時に計算でき、配列を返します。
quantilesTimingWeighted 指定された精度で、数値データ列の各要素の重みに応じた分位数を計算します。
quantileTDigest t-digest アルゴリズムを使用して、数値データ列のおおよその分位数を計算します。
quantileTDigestWeighted t-digest アルゴリズムを使用して、数値データ列のおおよその分位数を計算します。
quantileTiming 指定された精度で、数値データ列の分位数を計算します。
quantileTimingWeighted 指定された精度で、数値データ列の各要素の重みに応じた分位数を計算します。
rankCorr 順位相関係数を計算します。
simpleLinearRegression 単純な (1 次元の) 線形回帰を実行します。
singleValueOrNull 集約関数 singleValueOrNull は、x = ALL (SELECT ...) などのサブクエリ演算子を実装するために使用されます。データ内に NULL ではない一意の値が 1 つだけ存在するかどうかを確認します。
skewPop データ列の歪度を計算します。
skewSamp データ列の標本歪度を計算します。
sparkbar この関数は、値 x とそれらの値の出現頻度 y について、区間 [min_x, max_x] にわたる度数ヒストグラムを描画します。
stddevPop 結果は varPop の平方根に等しくなります。
stddevPopStable 結果は varPop の平方根に等しくなります。stddevPop とは異なり、この関数は数値的に安定したアルゴリズムを使用します。
stddevSamp 結果は varSamp の平方根に等しくなります。
stddevSampStable 結果は varSamp の平方根に等しくなります。stddevSamp とは異なり、この関数は数値的に安定したアルゴリズムを使用します。
stochasticLinearRegression この関数は確率的線形回帰を実装します。学習率、L2 正則化係数、ミニバッチサイズのカスタムパラメータに対応し、重みを更新するためのいくつかの手法 (Adam、単純な SGD、Momentum、Nesterov) を備えています。
stochasticLogisticRegression この関数は確率的ロジスティック回帰を実装します。二値分類問題に使用でき、stochasticLinearRegression と同じカスタムパラメータをサポートし、同様に動作します。
studentTTest 2 つの母集団からのサンプルにスチューデントの t 検定を適用します。
studentTTestOneSample 1 つのサンプルと既知の母平均に対して 1 標本スチューデントの t 検定を適用します。
sum 合計を計算します。数値に対してのみ機能します。
sumCount 数値の合計を計算すると同時に、行数もカウントします。この関数は ClickHouse クエリオプティマイザで使用されます。クエリ内に複数の sumcount、または avg 関数がある場合、それらを 1 つの sumCount 関数に置き換えて計算を再利用できます。この関数を明示的に使用する必要があることはほとんどありません。
sumKahan Kahan の補償和アルゴリズムを使用して数値の合計を計算します。
sumMap key 配列で指定されたキーに従って、1 つ以上の value 配列の合計を計算します。配列のタプルを返します。最初にソート順のキー、その後に対応するキーごとにオーバーフローなしで合計された値が続きます。
sumMapWithOverflow key 配列で指定されたキーに従って、value 配列の合計を計算します。2 つの配列からなるタプルを返します。ソート順のキーと、対応するキーごとに合計された値です。オーバーフローありで加算を行う点が sumMap 関数と異なります。
sumWithOverflow 入力パラメータと同じデータ型を結果に使用して、数値の合計を計算します。合計がこのデータ型の最大値を超えた場合は、オーバーフローありで計算されます。
theilsU theilsU 関数は、テーブル内の 2 つのカラム間の関連性を測る値である Theils' U 不確実性係数を計算します。
timeSeriesChangesToGrid 指定されたグリッド上で、時系列データに対する PromQL 風の変化量を計算する集約関数です。
timeSeriesDeltaToGrid 指定したグリッド上の時系列データに対して、PromQL の delta に相当する計算を行う集約関数です。
timeSeriesDerivToGrid 指定したグリッド上の時系列データに対して、PromQL の deriv に相当する計算を行う集約関数です。
timeSeriesGroupArray 時系列を timestamp の昇順でソートします。
timeSeriesInstantDeltaToGrid 指定したグリッド上の時系列データに対して、PromQL の idelta に相当する計算を行う集約関数です。
timeSeriesInstantRateToGrid 指定したグリッド上の時系列データに対して、PromQL の irate に相当する計算を行う集約関数です。
timeSeriesLastTwoSamples PromQL の irate および idelta の計算に向けて時系列データを再サンプリングする集約関数です。
timeSeriesPredictLinearToGrid 指定したグリッド上の時系列データに対して、PromQL の線形予測に相当する計算を行う集約関数です。
timeSeriesRateToGrid 指定したグリッド上の時系列データに対して、PromQL の rate に相当する計算を行う集約関数です。
timeSeriesResampleToGridWithStaleness 時系列データを指定したグリッドに再サンプリングする集約関数です。
timeSeriesResetsToGrid 指定したグリッド上の時系列データに対して、PromQL の resets に相当する計算を行う集約関数です。
topK 指定したカラムでおおよそ最も頻出する値の配列を返します。結果の配列は、値そのものではなく、各値のおおよその出現頻度の降順でソートされます。
topKWeighted 指定したカラムでおおよそ最も頻出する値の配列を返します。結果の配列は、値そのものではなく、各値のおおよその出現頻度の降順でソートされます。さらに、値の重みも考慮されます。
uniq 引数の異なる値のおおよその数を計算します。
uniqCombined 引数の異なる値のおおよその数を計算します。
uniqCombined64 引数の異なる値のおおよその数を計算します。uniqCombined と同じですが、String データ型だけでなく、すべてのデータ型に 64 ビットの hash を使用します。
uniqExact 引数の異なる値の正確な数を計算します。
uniqHLL12 HyperLogLog アルゴリズムを使用して、引数の異なる値のおおよその数を計算します。
uniqTheta Theta Sketch Framework を使用して、引数の異なる値のおおよその数を計算します。
varPop 母分散を計算します。
varPopStable 母分散を返します。varPop とは異なり、この関数は数値的に安定したアルゴリズムを使用します。処理速度は遅くなりますが、計算誤差を抑えられます。
varSamp データセットの標本分散を計算します。
varSampStable データセットの標本分散を計算します。varSamp とは異なり、この関数は数値的に安定したアルゴリズムを使用します。処理速度は遅くなりますが、計算誤差を抑えられます。
welchTTest 2 つの母集団からのサンプルに対して Welch の t 検定を適用します。
Navigation