avgIf 집계 함수 컴비네이터
avgIf 집계 함수 컴비네이터
If 컴비네이터를 avg 함수에 적용하면, 조건이 참인 행의 값들의 산술 평균을 계산할 수 있어요. avgIf 집계 컴비네이터 함수를 사용하는 거예요.
출처: 문서
본문
예시 사용법
이 예시에서는 성공 플래그가 있는 판매 데이터를 저장하는 테이블을 만들고, avgIf로 성공한 거래의 평균 판매 금액을 계산해 볼게요.
Query
CREATE TABLE sales(
transaction_id UInt32,
amount Decimal(10,2),
is_successful UInt8
) ENGINE = MergeTree
ORDER BY ();
INSERT INTO sales VALUES
(1, 100.50, 1),
(2, 200.75, 1),
(3, 150.25, 0),
(4, 300.00, 1),
(5, 250.50, 0),
(6, 175.25, 1);
SELECT
avgIf(amount, is_successful = 1) AS avg_successful_sale
FROM sales;
avgIf 함수는 is_successful = 1인 행에 대해서만 평균 금액을 계산해요. 이 경우 100.50, 200.75, 300.00, 175.25의 평균을 구할 거예요.
Response
┌─avg_successful_sale─┐
1. │ 193.88 │
└─────────────────────┘