본문으로 바로가기
본문으로 바로가기

집계 함수

ClickHouse는 표준 SQL 집계 함수(sum, avg, min, max, count)뿐만 아니라 다양한 기타 집계 함수도 지원합니다.

페이지설명
aggThrow예외 안전성을 테스트하는 데 사용할 수 있는 함수입니다. 지정된 확률에 따라 집계 과정에서 예외를 발생시킵니다.
analysisOfVariance일원 분산 분석(ANOVA 테스트)을 위한 통계적 검정을 제공합니다. 정규 분포를 따르는 여러 집단에 대해 각 집단의 평균이 모두 동일한지 여부를 검정합니다.
any컬럼에서 처음 나타나는 값을 선택합니다.
anyHeavyheavy hitter 알고리즘을 사용하여 자주 발생하는 값을 선택합니다. 각 쿼리 실행 스레드에서 절반 이상 발생하는 값이 있을 경우 해당 값을 반환합니다. 일반적으로 결과는 비결정적입니다.
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))) 값을 계산합니다.
contingencycontingency 함수는 분할 계수(contingency coefficient)를 계산하며, 이는 테이블의 두 컬럼 간 연관성을 측정하는 값입니다. 계산 방식은 cramersV 함수와 유사하지만, 제곱근의 분모가 다릅니다.
corr피어슨 상관 계수를 계산합니다.
corrMatrixN개의 변수에 대한 상관 행렬을 계산합니다.
corrStable피어슨 상관 계수를 계산하되, 수치적으로 더 안정적인 알고리즘을 사용합니다.
count행의 개수 또는 NULL이 아닌 값의 개수를 계산합니다.
covarPop모집단 공분산을 계산합니다.
covarPopMatrixN개의 변수에 대한 모집단 공분산 행렬을 반환합니다.
covarPopStable모집단 공분산을 계산합니다.
covarSampΣ((x - x̅)(y - y̅)) / (n - 1) 식의 값을 계산합니다
covarSampMatrixN개의 변수에 대한 표본 공분산 행렬을 반환합니다.
covarSampStablecovarSamp와 유사하지만 연산 속도는 더 느린 대신 계산 오차가 더 작습니다.
cramersVcramersV FUNCTION의 결과는 0(변수들 사이에 연관성이 전혀 없음을 의미)에서 1까지의 범위를 가지며, 각 변수의 값이 다른 변수에 의해 완전히 결정될 때에만 1에 도달합니다. 두 변수 간 연관성을 이론적으로 가능한 최대 변동 폭 대비 백분율로 나타낸 값으로 볼 수 있습니다.
cramersVBiasCorrectedCramer의 V를 계산하되, 편향 보정을 적용합니다.
deltaSum연속된 행 사이의 산술적 차이의 합을 계산합니다.
deltaSumTimestamp연속된 행 사이의 차이를 합산합니다. 차이가 음수인 경우에는 무시합니다.
distinctDynamicTypesDynamic 컬럼에 저장된 서로 다른 데이터 타입 목록을 반환합니다.
distinctJSONPathsJSON 컬럼에 저장된 서로 다른 경로 목록을 반환합니다.
distinctJSONPathsAndTypesJSON에 저장된 서로 다른 경로와 해당 타입 목록을 반환합니다.
entropy값 컬럼에 대한 Shannon 엔트로피를 계산합니다.
estimateCompressionRatio주어진 컬럼을 실제로 압축하지 않고 압축 비율을 추정합니다.
exponentialMovingAverage지정된 시간 구간에 대해 값의 지수 이동 평균을 계산합니다.
exponentialTimeDecayedAvg시계열 값의 시점 t에서의 지수 평활 가중 이동 평균을 반환합니다.
exponentialTimeDecayedCount시계열의 시간 인덱스 t에서의 누적 지수 감쇠 값을 반환합니다.
exponentialTimeDecayedMax시계열에서 시간 인덱스 t에서 계산된 지수 평활 이동 평균과 t-1에서의 값 가운데 더 큰 값을 반환합니다.
exponentialTimeDecayedSum시계열에서 시간 인덱스 t에서의 지수 평활화된 이동 평균 값들의 합을 반환합니다.
first_valueany의 별칭으로, Window Functions와의 호환성을 위해 도입되었습니다. Window Functions에서는 경우에 따라 NULL 값을 처리해야 할 수 있는데, 기본적으로 모든 ClickHouse 집계 함수는 NULL 값을 무시합니다.
flameGraph스택 트레이스 목록을 사용하여 flamegraph를 생성하는 집계 함수입니다.
groupArray인자 값들로 배열을 생성합니다. 값들은 어떤(비결정적인) 순서로든 배열에 추가될 수 있습니다.
groupArrayArray여러 배열을 하나의 더 큰 배열로 집계합니다.
groupArrayInsertAt지정한 위치에 값을 배열에 삽입합니다.
groupArrayIntersect주어진 배열들의 교집합(모든 배열에 공통으로 존재하는 항목들)을 반환합니다.
groupArrayLast마지막 인수 값으로 구성된 배열을 반환합니다.
groupArrayMovingAvg입력 값들의 이동 평균을 계산합니다.
groupArrayMovingSum입력 값들의 이동 합계를 계산합니다.
groupArraySample샘플 인수 값들로 구성된 배열을 생성합니다. 결과 배열의 크기는 최대 max_size개의 요소로 제한됩니다. 인수 값들은 무작위로 선택되어 배열에 추가됩니다.
groupArraySorted처음 N개 항목을 오름차순으로 정렬한 배열을 반환합니다.
groupBitAnd숫자들의 집합에 비트 단위 AND 연산을 적용합니다.
groupBitmap부호 없는 정수 컬럼에 대해 Bitmap 집계를 수행하고 UInt64 타입의 카디널리티를 반환합니다. 접미사 -State를 사용하면 비트맵 객체를 반환합니다.
groupBitmapAnd비트맵 컬럼에 대한 AND 연산을 수행하고 UInt64 타입의 카디널리티를 반환합니다. 접미사 -State를 사용하면 비트맵 객체를 반환합니다.
groupBitmapOrbitmap 컬럼에 대해 OR 연산을 수행하고 UInt64 타입의 기수(cardinality)를 반환합니다. -State 접미사를 추가하면 bitmap 객체를 반환합니다. groupBitmapMerge와 동일하게 동작합니다.
groupBitmapXor비트맵 컬럼에 대한 XOR 연산을 수행하고 UInt64 타입의 카디널리티를 반환합니다. 접미사 -State를 사용하면 비트맵 객체를 반환합니다.
groupBitOr일련의 숫자에 대해 비트 단위 OR 연산을 수행합니다.
groupBitXor일련의 숫자에 비트 단위 XOR를 적용합니다.
groupConcat문자열 그룹에 대해 연결된(concatenated) 문자열을 계산합니다. 선택적으로 구분 기호를 지정하거나 최대 요소 개수를 제한할 수 있습니다.
groupUniqArray중복을 제거한 서로 다른 인수 값들로 배열을 생성합니다.
intervalLengthSum모든 구간의 합집합에 대한 전체 길이(실수선 상의 구간)를 계산합니다.
kolmogorovSmirnovTestKolmogorov-Smirnov 검정을 두 모집단에서 추출한 표본에 적용합니다.
kurtPop수열의 첨도를 계산합니다.
kurtSamp수열의 표본 첨도를 계산합니다.
largestTriangleThreeBuckets입력 데이터에 Largest-Triangle-Three-Buckets 알고리즘을 적용합니다.
last_value마지막으로 나타난 값을 선택하며, anyLast와 유사하지만 NULL 값도 허용합니다.
mannWhitneyUTestMann-Whitney 순위 검정을 두 모집단에서 추출한 표본에 적용합니다.
max값 그룹 전체의 최댓값을 계산하는 집계 함수입니다.
maxIntersections주어진 구간 집합에서, 서로 교차하는 구간 수의 최대값(모든 구간이 최소 한 번 이상 교차하도록 하는 경우)을 계산하는 집계 함수입니다.
maxIntersectionsPositionmaxIntersections 함수에서 얻어지는 결과 값이 나타나는 위치를 계산하는 집계 함수입니다.
maxMapkey 배열에 지정된 키에 따라 value 배열의 최댓값을 계산합니다.
meanZTest두 모집단으로부터 추출한 표본에 평균 z-검정을 적용합니다.
medianmedian* FUNCTION은 대응하는 quantile* FUNCTION의 별칭(alias)입니다. 숫자형 데이터 샘플의 중앙값을 계산합니다.
min값 집합 전체에 대해 최솟값을 계산하는 집계 함수입니다.
minMapkey 배열에 지정된 키별로 value 배열에서 최소값을 계산합니다.
quantile수치형 데이터 시퀀스에 대한 근사 분위수를 계산합니다.
quantileBFloat16bfloat16 숫자로 구성된 표본에 대한 근사 분위수를 계산합니다.
quantileDD상대 오차를 보장하는 표본에 대한 근사 분위수를 계산합니다.
quantileDeterministic수치형 데이터 시퀀스에 대한 근사 분위수를 계산합니다.
quantileExact 계열 함수quantileExact, quantileExactLow, quantileExactHigh, quantileExactExclusive, quantileExactInclusive 함수입니다.
quantileExactExclusive수치형 데이터 시퀀스의 분위수를 정확하게 계산합니다.
quantileExactHighquantileExact와 유사하게 수치형 데이터 시퀀스의 정확한 분위수를 계산합니다.
quantileExactInclusive수치형 데이터 시퀀스의 분위수를 정확하게 계산합니다.
quantileExactLowquantileExact와 유사하게 숫자 데이터 시퀀스의 정확한 분위수를 계산합니다.
quantileExactWeighted각 요소의 가중치를 고려하여 수치형 데이터 시퀀스의 분위수를 정확하게 계산합니다.
quantileExactWeightedInterpolated각 요소의 가중치를 고려하여 선형 보간을 사용해 수치형 데이터 시퀀스의 분위수를 계산합니다.
quantileGKGreenwald-Khanna 알고리즘을 사용해 수치형 데이터 시퀀스의 분위수를 계산합니다.
quantileInterpolatedWeighted각 요소의 가중치를 고려하여 선형 보간을 사용해 수치형 데이터 시퀀스의 분위수를 계산합니다.
quantilePrometheusHistogram선형 보간을 사용해 히스토그램의 분위수를 계산합니다.
quantiles 함수quantiles, quantilesExactExclusive, quantilesExactInclusive, quantilesGK입니다.
quantilesExactExclusive수치 데이터 시퀀스의 분위수를 정확하게 계산합니다.
quantilesExactInclusive수치 데이터 시퀀스의 분위수를 정확하게 계산합니다.
quantilesGKquantilesGK는 quantileGK와 유사하게 동작하지만, 여러 분위수 수준에서 분위수를 동시에 계산할 수 있으며 배열을 반환합니다.
quantilesTimingWeighted지정된 정밀도로 수치 데이터 시퀀스에서 각 요소의 가중치에 따라 분위수를 계산합니다.
quantileTDigestt-digest 알고리즘을 사용하여 수치 데이터 시퀀스의 근사 분위수를 계산합니다.
quantileTDigestWeightedt-digest 알고리즘을 사용하여 수치 데이터 시퀀스의 근사 분위수를 계산합니다.
quantileTiming지정된 정밀도로 수치 데이터 시퀀스의 분위수를 계산합니다.
quantileTimingWeighted지정된 정밀도로 수치 데이터 시퀀스에서 각 요소의 가중치에 따라 분위수를 계산합니다.
rankCorr순위 상관 계수를 계산합니다.
simpleLinearRegression단순(1차원) 선형 회귀를 수행합니다.
singleValueOrNull집계 함수 singleValueOrNullx = ALL (SELECT ...)와 같은 서브쿼리 연산자를 구현하는 데 사용됩니다. 데이터에 NULL이 아닌 서로 다른 값이 정확히 하나만 존재하는지 확인합니다.
skewPop시퀀스의 왜도(skewness)를 계산합니다.
skewSamp시퀀스의 표본 왜도(sample skewness)를 계산합니다.
sparkbar이 FUNCTION은 구간 [min_x, max_x]에서 값 x와 이 값들의 반복 빈도 y에 대한 히스토그램을 그립니다.
stddevPop결과는 varPop의 제곱근과 같습니다.
stddevPopStable결과는 varPop의 제곱근과 같습니다. stddevPop과 달리, 이 함수는 수치적으로 안정적인 알고리즘을 사용합니다.
stddevSamp결과는 varSamp의 제곱근과 같습니다.
stddevSampStable결과는 varSamp의 제곱근과 같습니다. 이 함수는 수치적으로 안정적인 알고리즘을 사용합니다.
stochasticLinearRegression이 함수는 확률적(스토캐스틱) 선형 회귀를 구현합니다. 학습률, L2 정규화 계수, 미니배치 크기에 대한 사용자 지정 매개변수를 지원하며, 가중치를 업데이트하기 위한 여러 방법(Adam, 단순 SGD, Momentum, Nesterov)을 제공합니다.
stochasticLogisticRegression이 함수는 확률적(스토캐스틱) 로지스틱 회귀를 구현합니다. 이항 분류 문제에 사용할 수 있으며, stochasticLinearRegression과 동일한 사용자 지정 매개변수를 지원하고 동일한 방식으로 동작합니다.
studentTTest두 모집단에서 추출한 표본에 Student t-검정을 적용합니다.
studentTTestOneSample단일 표본과 알려진 모평균에 단일 표본 Student t-검정을 적용합니다.
sum합계를 계산합니다. 숫자형 값에만 동작합니다.
sumCount숫자의 합과 행 수를 동시에 계산합니다. 이 함수는 ClickHouse 쿼리 옵티마이저에서 사용됩니다. 쿼리에 여러 개의 sum, count, avg 함수가 있는 경우, 계산을 재사용하기 위해 이를 하나의 sumCount 함수로 대체할 수 있습니다. 이 함수를 명시적으로 호출해야 할 일은 거의 없습니다.
sumKahanKahan 보정 합산 알고리즘을 사용하여 숫자 합계를 계산합니다.
sumMapkey 배열에 지정된 키에 따라 하나 이상의 value 배열을 합산합니다. 정렬된 순서의 키 배열과 각 키에 대해 오버플로 없이 합산된 값 배열들로 구성된 배열의 튜플을 반환합니다.
sumMapWithOverflowkey 배열에 지정된 키에 따라 value 배열의 합을 계산합니다. 정렬된 순서의 키 배열과 해당 키에 대해 합산된 값 배열, 이렇게 두 개의 배열로 이루어진 튜플을 반환합니다. 오버플로가 발생하도록 허용하면서 합산을 수행한다는 점에서 sumMap 함수와 다릅니다.
sumWithOverflow결과에 입력 파라미터와 동일한 데이터 타입을 사용하여 숫자 합계를 계산합니다. 합계가 해당 데이터 타입의 최대값을 초과하면 오버플로를 허용하여 계산합니다.
theilsUtheilsU 함수는 Theils' U 불확실성 계수를 계산하는 함수로, 테이블의 두 컬럼 간 연관성을 측정하는 값입니다.
timeSeriesChangesToGrid지정된 그리드에서 시계열 데이터에 대해 PromQL과 유사한 방식으로 변화량을 계산하는 집계 함수입니다.
timeSeriesDeltaToGrid지정된 그리드에서 시계열 데이터에 대해 PromQL과 유사한 방식으로 delta를 계산하는 집계 함수입니다.
timeSeriesDerivToGrid지정된 그리드에서 시계열 데이터에 대해 PromQL과 유사한 방식으로 도함수(derivative)를 계산하는 집계 함수입니다.
timeSeriesGroupArray타임스탬프를 기준으로 시계열을 오름차순으로 정렬합니다.
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비트 해시를 사용하는 것이 아니라 모든 데이터 타입에 대해 64비트 해시를 사용합니다.
uniqExact인수의 서로 다른 값 개수를 정확하게 계산합니다.
uniqHLL12HyperLogLog 알고리즘을 사용하여 인수의 서로 다른 값 개수를 근사적으로 계산합니다.
uniqThetaTheta Sketch 프레임워크를 사용하여 인수의 서로 다른 값 개수를 근사적으로 계산합니다.
varPop모집단 분산을 계산합니다.
varPopStable모집단 분산을 반환합니다. varPop과 달리 수치적으로 더 안정적인 알고리즘을 사용합니다. 성능은 더 느리지만 계산 오차는 더 작습니다.
varSamp데이터셋의 표본 분산을 계산합니다.
varSampStable데이터 집합의 표본 분산을 계산합니다. varSamp과는 달리 이 함수는 수치적으로 안정적인 알고리즘을 사용합니다. 속도는 더 느리지만 계산 오차가 더 작습니다.
welchTTest두 모집단에서 추출된 표본에 Welch의 t-검정을 적용합니다.