데이터 분석 기술 블로그

MEDIAN 함수 본문

SQL/개념

MEDIAN 함수

데이터분석가 이채은 2024. 12. 5. 12:56

MEDIAN 함수란?

"MEDIAN"은 주어진 데이터 집합을 정렬했을 때 가운데에 위치하는 값을 의미합니다. SQL에서는 중앙값을 구하는 표준 함수가 없지만, 특정 DBMS(PostgreSQL, Oracle, etc.)는 MEDIAN 함수를 제공하기도 합니다.


MEDIAN 계산 방식

 

  1. 홀수 개의 데이터:
    • 정렬된 데이터에서 정확히 가운데에 위치한 값이 중앙값.
    • 예: [1, 3, 5, 7, 9] → 중앙값은 5.
  2. 짝수 개의 데이터:
    • 정렬된 데이터에서 가운데 두 값의 평균이 중앙값.
    • 예: [1, 3, 5, 7] → 중앙값은 (3 + 5) / 2 = 4.

MEDIAN 구하기

SQL에는 기본적으로 MEDIAN 함수가 없기 때문에 중앙값을 계산하려면 창 함수(Window Function)와 정렬을 사용해야 합니다.


예제

 

 

WITH OrderedSalaries AS (
    SELECT
        salary,
        ROW_NUMBER() OVER (ORDER BY salary) AS row_num,
        COUNT(*) OVER () AS total_rows
    FROM Employees
)
SELECT
    AVG(salary) AS median
FROM OrderedSalaries
WHERE row_num IN (
    FLOOR((total_rows + 1) / 2), -- 가운데 값 (홀수일 때)
    CEIL((total_rows + 1) / 2)  -- 두 값 중 하나 (짝수일 때)
);

결과:

  • 데이터: [1000, 2000, 3000, 4000, 5000]
  • 중앙값: 3000

'SQL > 개념' 카테고리의 다른 글

SUM 함수  (0) 2024.12.07
COUNT 함수  (0) 2024.12.06
ANY 키워드  (0) 2024.12.04
ALL 키워드  (0) 2024.12.03
IS NULL 연산자  (0) 2024.12.02