SQL
SQL filter 함수로 집계함수에 조건 걸기
수박비빔밥
2024. 3. 23. 00:23
반응형
SQL의 FILTER 구문은 집계 함수와 함께 사용되어 특정 조건을 만족하는 행에 대해서만 집계를 수행할 수 있도록 해줍니다. 이는 데이터를 그룹화한 후, 그룹 내에서 추가적인 조건에 따라 집계를 필터링하고 싶을 때 유용합니다. FILTER 구문은 주로 WHERE 절이 집계 수준에서 작동하지 않을 때 사용됩니다.
구조
FILTER 구문의 기본 구조는 다음과 같습니다:

여기서 AGGREGATE_FUNCTION은 SUM, COUNT, AVG 등의 SQL 집계 함수를 의미하고, column_name은 해당 함수에 적용될 컬럼, condition은 집계를 수행할 행을 필터링하기 위한 조건입니다.
예시
예시 1: 판매 데이터에 대해 특정 조건을 만족하는 항목들의 합계 계산

이 쿼리는 각 제품별로 2023년 1월에 판매된 총 수량을 계산합니다.
예시 2: 직원 별로 특정 프로젝트에 대한 근무 시간 집계

이 쿼리는 각 직원이 프로젝트 'P100'에 대해 근무한 총 시간을 집계합니다.
예시 3: 주문별로 특정 금액 이상의 항목 수 계산

이 쿼리는 각 주문에 포함된 100달러 이상의 고가 항목 수를 계산합니다.
FILTER 구문을 사용하면 SQL 쿼리의 유연성이 크게 향상되어, 복잡한 데이터 분석 요구사항을 보다 쉽게 해결할 수 있습니다. 특히, 여러 조건에 따른 집계가 필요한 경우나 그룹별로 다양한 기준을 적용해야 할 때 매우 유용합니다.
반응형