-
SQL filter 함수로 집계함수에 조건 걸기SQL 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 쿼리의 유연성이 크게 향상되어, 복잡한 데이터 분석 요구사항을 보다 쉽게 해결할 수 있습니다. 특히, 여러 조건에 따른 집계가 필요한 경우나 그룹별로 다양한 기준을 적용해야 할 때 매우 유용합니다.
반응형'SQL' 카테고리의 다른 글
SQL REGEXP_LIKE 정규식 문자열 포함 검색 (0) 2024.04.03 SQL JSON_EXTRACT_PATH_TEXT 함수 - SQL 통해 json 문자 추출하기 (0) 2024.03.31 SQL Like 연산자 - 문자열 비교, 문자 패턴 찾기(특정 포함 확인) (0) 2024.03.24 SQL 조건문 함수 (case when) (0) 2024.03.20 MYSQL 윈도우 함수(window function) (2) 2024.03.18