설명
If 조합자는 avg
함수에 적용할 수 있으며, avgIf 집계 조합자 함수를 사용해 조건이 true인
행의 값에 대한 산술 평균을 계산합니다.
사용 예시
이 예시에서는 성공 여부를 나타내는 플래그와 함께 판매 데이터를 저장하는 테이블(table)을 생성하고,
성공한 거래의 평균 판매 금액을 계산하기 위해 avgIf를 사용합니다.
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입니다.
┌─avg_successful_sale─┐
1. │ 193.88 │
└─────────────────────┘