[sql] GROUP BY 절을 사용한 데이터의 중간값 계산하기
보통 SQL을 사용해 데이터의 평균이나 합을 계산할 때 많이 사용하는 GROUP BY 절은 데이터의 중간값(Median)을 계산하는 데에는 적합하지 않습니다. 하지만 몇 가지 방법을 활용하여 GROUP BY를 사용한 데이터의 중간값을 계산할 수 있습니다.
방법 1: 서브쿼리 사용
서브쿼리를 이용하여 중간값을 계산할 수 있습니다. 다음은 Sales
테이블에서 amount
열을 기준으로 중간값을 계산하는 쿼리의 예제입니다.
SELECT
AVG(amount) as median
FROM
(SELECT amount
FROM Sales
ORDER BY amount
LIMIT 2 - (SELECT COUNT(*) FROM Sales) % 2 -- 중간값 계산
) subquery;
방법 2: 사용자 정의 함수(UDF) 사용
사용자 정의 함수(UDF)를 사용하여 중간값을 계산할 수도 있습니다. 각 데이터베이스 시스템마다 UDF의 구현 방법이 다르므로 해당 시스템의 문서를 참조하여 구현해야 합니다.
위 방법들 중 하나를 선택하여 데이터베이스 시스템에 맞게 적용해보세요. 데이터의 중간값을 계산하는 새로운 방법을 익히는 데 도움이 되리라 생각됩니다.