📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

集計関数



このページでは、TiDB Cloud Lake の集計関数について、参照しやすいよう機能別に整理して包括的に紹介します。

基本的な集計

関数説明例
COUNT行数または非 NULL 値の数をカウントしますCOUNT(*) → 10
COUNT_DISTINCT重複しない値の数をカウントしますCOUNT(DISTINCT city) → 5
APPROX_COUNT_DISTINCT重複しない値の数を近似的にカウントしますAPPROX_COUNT_DISTINCT(user_id) → 9955
SUM値の合計を計算しますSUM(sales) → 1250.75
AVG値の平均を計算しますAVG(temperature) → 72.5
MIN最小値を返しますMIN(price) → 9.99
MAX最大値を返しますMAX(price) → 99.99
ANY_VALUEグループ内の任意の値を返しますANY_VALUE(status) → 'active'

条件付き集計

関数説明例
COUNT_IF条件に一致する行をカウントしますCOUNT_IF(price > 100) → 5
SUM_IF条件に一致する値を合計しますSUM_IF(amount, status = 'completed') → 750.25
AVG_IF条件に一致する値の平均を計算しますAVG_IF(score, passed = true) → 85.6
MIN_IF条件が true の場合の最小値を返しますMIN_IF(temp, location = 'outside') → 45.2
MAX_IF条件が true の場合の最大値を返しますMAX_IF(speed, vehicle = 'car') → 120.5

統計関数

関数説明例
VAR_POP / VARIANCE_POPCOVAR_POP のエイリアス(母共分散)VAR_POP(x, y) → 2.5
VAR_SAMP / VARIANCE_SAMPCOVAR_SAMP のエイリアス(標本共分散)VAR_SAMP(x, y) → 2.7
STDDEV_POP母標準偏差STDDEV_POP(height) → 3.2
STDDEV_SAMP標本標準偏差STDDEV_SAMP(height) → 3.5
COVAR_POP母共分散COVAR_POP(x, y) → 2.5
COVAR_SAMP標本共分散COVAR_SAMP(x, y) → 2.7
KURTOSIS分布の尖度を測定しますKURTOSIS(values) → 2.1
SKEWNESS分布の非対称性を測定しますSKEWNESS(values) → 0.2

パーセンタイルと分布

関数説明例
MEDIAN中央値を計算しますMEDIAN(response_time) → 125
MODE最頻値を返しますMODE(category) → 'electronics'
QUANTILE_CONT連続補間による分位点QUANTILE_CONT(0.95)(response_time) → 350.5
QUANTILE_DISC離散分位点QUANTILE_DISC(0.5)(age) → 35
QUANTILE_TDIGESTt-digest を使用した近似分位点QUANTILE_TDIGEST(0.9)(values) → 95.2
QUANTILE_TDIGEST_WEIGHTED重み付き t-digest 分位点QUANTILE_TDIGEST_WEIGHTED(0.5)(values, weights) → 50.5
MEDIAN_TDIGESTt-digest を使用した近似中央値MEDIAN_TDIGEST(response_time) → 124.5
HISTOGRAMヒストグラムのバケットを作成しますHISTOGRAM(10)(values) → [{...}]

配列およびコレクションの集計

関数説明例
ARRAY_AGG値を配列に収集しますARRAY_AGG(product) → ['A', 'B', 'C']
GROUP_ARRAY_MOVING_AVG配列に対する移動平均GROUP_ARRAY_MOVING_AVG(3)(values) → [null, null, 3.0, 6.0, 9.0]
GROUP_ARRAY_MOVING_SUM配列に対する移動合計GROUP_ARRAY_MOVING_SUM(2)(values) → [null, 3, 7, 11, 15]

地理空間集計

関数説明例
ST_UNION_AGGグループ内の GEOMETRY 値を結合しますST_UNION_AGG(geom) → MULTIPOINT(...)
ST_INTERSECTION_AGGグループ内の GEOMETRY 値の共通部分を求めますST_INTERSECTION_AGG(geom) → POLYGON(...)
ST_ENVELOPE_AGGグループ内の GEOMETRY 値の外接矩形を返しますST_ENVELOPE_AGG(geom) → POLYGON(...)
ST_COLLECTGEOMETRY 値を 1 つの GEOMETRY 結果に収集しますST_COLLECT(geom) → GEOMETRYCOLLECTION(...)

文字列集計

関数説明例
GROUP_CONCAT区切り文字を使って値を連結しますGROUP_CONCAT(city, ', ') → 'New York, London, Tokyo'
STRING_AGG区切り文字を使って文字列を連結しますSTRING_AGG(tag, ',') → 'red,green,blue'
LISTAGG区切り文字を使って値を連結しますLISTAGG(name, ', ') → 'Alice, Bob, Charlie'

JSON 集計

関数説明例
JSON_ARRAY_AGG値を JSON 配列として集計しますJSON_ARRAY_AGG(name) → '["Alice", "Bob", "Charlie"]'
JSON_OBJECT_AGGキーと値のペアから JSON オブジェクトを作成しますJSON_OBJECT_AGG(name, score) → '{"Alice": 95, "Bob": 87}'

引数選択

関数説明例
ARG_MAXexpr2 が最大のときの expr1 の値を返しますARG_MAX(name, score) → 'Alice'
ARG_MINexpr2 が最小のときの expr1 の値を返しますARG_MIN(name, score) → 'Charlie'

ファネル分析

関数説明例
RETENTIONリテンション率を計算しますRETENTION(action = 'signup', action = 'purchase') → [100, 40]
WINDOWFUNNEL時間ウィンドウ内のイベントシーケンスを検索しますWINDOWFUNNEL(1800)(timestamp, event='view', event='click', event='purchase') → 2

匿名化

関数説明例
MARKOV_TRAINマルコフモデルを学習しますMARKOV_TRAIN(address)

このページは役に立ちましたか?