集約関数
ClickHouseは、すべての標準SQL集約関数(sum, avg, min, max, count)をサポートしており、さらに多くの他の集約関数も提供しています。
ページ | 説明 |
---|---|
intervalLengthSum | すべての範囲(数値軸上のセグメント)の共通部分の合計長を計算します。 |
median | median* 関数は、対応する quantile* 関数のエイリアスです。数値データサンプルの中央値を計算します。 |
welchTTest | 二つの母集団からのサンプルにWelchのt検定を適用します。 |
groupArrayMovingSum | 入力値の移動合計を計算します。 |
groupBitmapAnd | ビットマップカラムのANDを計算し、UInt64型のカーディナリティを返します。サフィックス -State を追加すると、ビットマップオブジェクトを返します。 |
topKWeighted | 指定されたカラム内でおおよそ最も頻繁に出現する値の配列を返します。結果の配列は値の近似頻度の降順にソートされます(値自体ではなく)。さらに、値の重みが考慮されます。 |
distinctJSONPaths | JSONカラムに保存された異なるパスのリストを計算します。 |
kolmogorovSmirnovTest | 二つの母集団からのサンプルにKolmogorov-Smirnovのテストを適用します。 |
quantileExactWeightedInterpolated | 各要素の重みを考慮し、線形補間を使用して数値データ系列の分位点を計算します。 |
largestTriangleThreeBuckets | 入力データにLargest-Triangle-Three-Bucketsアルゴリズムを適用します。 |
approx_top_sum | 指定されたカラム内でおおよそ最も頻繁に出現する値とそのカウントの配列を返します。 |
covarSamp | Σ((x - x̅)(y - y̅)) / (n - 1) の値を計算します。 |
groupBitmapOr | ビットマップカラムのORを計算し、UInt64型のカーディナリティを返します。サフィックス -State を追加すると、ビットマップオブジェクトを返します。これは groupBitmapMerge と等価です。 |
varSamp | データセットの標本分散を計算します。 |
cramersVBiasCorrected | Cramer's Vを計算しますが、バイアス補正を使用します。 |
quantiles Functions | quantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK |
anyLast | カラムの最後に遭遇した値を選択します。 |
corrStable | ピアソンの相関係数を計算しますが、数値的に安定したアルゴリズムを使用します。 |
stddevPopStable | 結果はvarPopの平方根となります。stddevPopとは異なり、この関数は数値的に安定したアルゴリズムを使用します。 |
maxIntersections | 一群の区間が互いに交差する最大の回数を計算する集約関数です(すべての区間が少なくとも1回交差する場合)。 |
flameGraph | スタックトレースのリストを使用してフレームグラフを作成する集約関数です。 |
min | 値のグループの最小値を計算する集約関数です。 |
sumMapWithOverflow | key 配列で指定されたキーに従って、value 配列を合計します。キーはソートされた順序で、対応するキーの合計値を含む二つの配列のタプルを返します。overflowありで合計処理を行う点で、sumMap関数とは異なります。 |
uniq | 引数の異なる値の概算数を計算します。 |
quantileTDigest | t-digestアルゴリズムを使用して数値データ系列の概算分位点を計算します。 |
groupArrayMovingAvg | 入力値の移動平均を計算します。 |
rankCorr | 順位相関係数を計算します。 |
covarSampStable | covarSampと似ていますが、計算誤差が小さくなるように遅く動作します。 |
avgWeighted | 加重算術平均を計算します。 |
skewSamp | シーケンスの標本歪度を計算します。 |
groupArrayInsertAt | 指定された位置に値を配列に挿入します。 |
array_concat_agg | array_concat_agg関数のドキュメント |
entropy | 値のカラムについてのシャノンエントロピーを計算します。 |
uniqTheta | Theta Sketchフレームワークを使用して異なる引数値の概算数を計算します。 |
quantileDeterministic | 数値データ系列の概算分位点を計算します。 |
simpleLinearRegression | 単純(一次元)線形回帰を実施します。 |
covarPop | 母集団の共分散を計算します。 |
groupBitmapXor | ビットマップカラムのXORを計算し、UInt64型のカーディナリティを返します。サフィックス -State を使用すると、ビットマップオブジェクトを返します。 |
maxMap | key 配列で指定されたキーに従って、value 配列から最大値を計算します。 |
varPopStable | 母集団の分散を返します。varPopとは異なり、この関数は数値的に安定したアルゴリズムを使用します。動作が遅くなるが、計算誤差が小さくなります。 |
avg | 算術平均を計算します。 |
kurtPop | シーケンスの尖度を計算します。 |
aggThrow | この関数は例外の安全性をテストする目的で使用できます。指定された確率で作成時に例外をスローします。 |
argMin | 最小の val 値に対する arg 値を計算します。同じ val を持つ複数の行が存在する場合、どの関連する arg が返されるかは決定的ではありません。 |
first_value | これは any のエイリアスですが、ウィンドウ関数との互換性のために導入されました。NULL値を処理する必要があるためです(デフォルトでは、すべてのClickHouse集約関数はNULL値を無視します)。 |
sumKahan | Kahan補正加算アルゴリズムを使用して数の合計を計算します。 |
count | 行数またはNULLでない値の数をカウントします。 |
deltaSumTimestamp | 連続する行間の差を加算します。差が負の場合は無視されます。 |
studentTTest | 二つの母集団からのサンプルにスチューデントt検定を適用します。 |
sumWithOverflow | 数の合計を計算し、結果のデータ型が入力パラメータと同じであることを確認します。この型の最大値を超える場合は、オーバーフローを考慮して計算されます。 |
sum | 合計を計算します。数値に対してのみ機能します。 |
boundingRatio | 一群の値に対して、最も左と最も右の点間の傾きを計算する集約関数です。 |
uniqExact | 異なる引数値の正確な数を計算します。 |
exponentialTimeDecayedCount | 時系列のインデックス t における累積指数減衰を返します。 |
sumCount | 数の合計を計算し、同時に行数をカウントします。この関数はClickHouseのクエリオプティマイザによって使用されます:クエリ内に複数の sum , count または avg 関数がある場合、それらは単一の sumCount 関数に置き換えられて計算が再利用されます。この関数は明示的に使用されることは稀です。 |
varSampStable | データセットの標本分散を計算します。varSamp とは異なり、この関数は数値的に安定したアルゴリズムを使用します。動作が遅くなりますが、計算誤差が小さくなります。 |
topK | 指定されたカラム内でおおよそ最も頻繁に出現する値の配列を返します。結果の配列は値の近似頻度の降順にソートされます(値自体ではなく)。 |
maxIntersectionsPosition | maxIntersections 関数の出現位置を計算する集約関数です。 |
stddevSampStable | 結果は varSamp の平方根となります。この関数は数値的に安定したアルゴリズムを使用します。 |
varPop | 母集団の分散を計算します。 |
quantileExactWeighted | 各要素の重みを考慮して、数値データ系列の分位点を正確に計算します。 |
covarPopMatrix | N変数における母集団共分散行列を返します。 |
sparkbar | この関数は、値 x およびこれらの値の区間 [min_x, max_x] にわたる繰り返し率 y の頻度ヒストグラムをプロットします。 |
contingency | contingency 関数は、テーブル内の二列間の関連性を測定する値であるコンティンジェンシー係数を計算します。計算は cramersV 関数に似ていますが、平方根の分母が異なります。 |
stochasticLinearRegression | この関数は確率的線形回帰を実装します。学習率、L2正則化係数、ミニバッチサイズのカスタムパラメータをサポートし、重みの更新方法(Adam、単純SGD、モメンタム、ネステロフ)をいくつか持っています。 |
analysisOfVariance | 一元配置分散分析(ANOVAテスト)の統計検定を提供します。これは、すべてのグループが同じ平均を持っているかどうかを調べるために、通常分布の観測値のいくつかのグループに対して行われるテストです。 |
groupConcat | 文字列のグループから連結された文字列を計算し、オプションで区切り文字で区切り、最大要素数で制限することができます。 |
exponentialTimeDecayedMax | 時点 t における指数平滑化移動平均の最大値を、t-1 のそれとともに返します。 |
any | カラムの最初に遭遇した値を選択します。 |
covarSampMatrix | N変数における標本共分散行列を返します。 |
groupArrayLast | 最後の引数値の配列を作成します。 |
singleValueOrNull | 集約関数 singleValueOrNull は、x = ALL (SELECT ...) のようなサブクエリ演算子を実装するために使用されます。データに一つのユニークな非NULL値しか存在しないかどうかを確認します。 |
theilsU | theilsU 関数は、テーブル内の二列間の関連性を測定するTheils' U不確実性係数を計算します。 |
cramersV | cramersV 関数の結果は0(変数間に関連がないことを示す)から1までの範囲であり、すべての値が他の変数によって完全に決定される場合のみ1に達します。これは、二つの変数間の関連性をその最大変動のパーセンテージとして見ることができます。 |
last_value | 最後に遭遇した値を選択します。これは anyLast に似ていますが、NULLを受け入れることができます。 |
quantileTiming | 決定された精度で数値データ系列の分位点を計算します。 |
groupBitmap | 符号なし整数カラムからのビットマップまたは集約計算で、UInt64型のカーディナリティを返します。サフィックス -State を追加すると、ビットマップオブジェクトを返します。 |
minMap | key 配列で指定されたキーに従って、value 配列から最小値を計算します。 |
exponentialTimeDecayedAvg | 時点 t における時間系列の指数平滑化加重移動平均の値を返します。 |
skewPop | シーケンスの歪度を計算します。 |
mannWhitneyUTest | 二つの母集団からのサンプルにマン・ホイットニー順位検定を適用します。 |
quantileGK | Greenwald-Khannaアルゴリズムを使用して数値データ系列の分位点を計算します。 |
groupArrayIntersect | 指定された配列の交差を返します(すべての指定された配列に存在する配列の項目を返します)。 |
estimateCompressionRatio | 列を圧縮せずに、その圧縮率を推定します。 |
groupArraySample | 引数値のサンプル配列を作成します。結果の配列のサイズは max_size 要素に制限されます。引数値はランダムに選択され、配列に追加されます。 |
stddevSamp | 結果は varSamp の平方根となります。 |
quantile | 数値データ系列の概算分位点を計算します。 |
groupArray | 引数値の配列を作成します。値は任意の(不確定な)順序で配列に追加できます。 |
exponentialTimeDecayedSum | 時点 t における時間系列の指数平滑化移動平均値の合計を返します。 |
categoricalInformationValue | 各カテゴリについての (P(tag = 1) - P(tag = 0))(log(P(tag = 1)) - log(P(tag = 0))) の値を計算します。 |
corr | ピアソンの相関係数を計算します。 |
approx_top_k | 指定されたカラム内でおおよそ最も頻繁に出現する値とそのカウントの配列を返します。 |
corrMatrix | N変数における相関行列を計算します。 |
quantileDD | 相対誤差保証を持つサンプルの概算分位点を計算します。 |
anyHeavy | ヘビーヒッターアルゴリズムを使用して、頻繁に出現する値を選択します。各クエリ実行スレッド内で半分以上のケースで出現する値がある場合、この値が返されます。通常、結果は非決定的です。 |
quantileBFloat16 | bfloat16数からなるサンプルの概算分位点を計算します。 |
max | 値のグループから最大値を計算する集約関数です。 |
groupBitXor | 数値のシリーズに対してビット単位の XOR を適用します。 |
quantileTimingWeighted | 決定された精度で、各シーケンスメンバーの重みに応じて数値データ系列の分位点を計算します。 |
quantileInterpolatedWeighted | 各要素の重みを考慮して、線形補間を使用して数値データ系列の分位点を計算します。 |
stddevPop | 結果は varPop の平方根となります。 |
uniqCombined | 異なる引数値の概算数を計算します。 |
covarPopStable | 母集団の共分散を計算します。 |
argMax | 最大の val 値に対する arg 値を計算します。 |
groupBitOr | 数値のシリーズに対してビット単位の OR を適用します。 |
quantileTDigestWeighted | t-digestアルゴリズムを使用して数値データ系列の概算分位点を計算します。 |
distinctDynamicTypes | Dynamicカラムに保存された異なるデータ型のリストを計算します。 |
sumMap | key 配列で指定されたキーに基づいて、value 配列を合計します。オーバーフローなしで対応するキーの合計値を含む、ソートされたキーの配列と二つの配列のタプルを返します。 |
kurtSamp | シーケンスの標本尖度を計算します。 |
stochasticLogisticRegression | この関数は確率的ロジスティック回帰を実装します。二値分類問題に使用でき、確率的線形回帰と同じカスタムパラメータをサポートし、同じ方法で動作します。 |
exponentialMovingAverage | 定められた時間の値の指数移動平均を計算します。 |
uniqCombined64 | 異なる引数値の概算数を計算します。これはuniqCombinedと同じですが、すべてのデータ型に対して64ビットハッシュを使用します。 |
meanZTest | 二つの母集団からのサンプルに対して平均z検定を適用します。 |
uniqHLL12 | HyperLogLogアルゴリズムを使用して異なる引数値の概算数を計算します。 |
groupArrayArray | 配列をこれらの配列のより大きな配列に集約します。 |
groupUniqArray | 異なる引数値から配列を作成します。 |
groupBitAnd | 数値の系列に対してビット単位の AND を適用します。 |
deltaSum | 連続する行間の算術的差を合計します。 |
groupArraySorted | 昇順に最初のN項目を持つ配列を返します。 |
quantileExact Functions | quantileExact, quantileExactLow, quantileExactHigh, quantileExactExclusive, quantileExactInclusive 関数 |