SQL 데이터 분석을 위한 함수인 NTILE 함수

핵심 원리

이 자료에서는 SQL에서 데이터 분석을 위한 함수인 NTILE 함수에 대해 설명하고 있습니다. NTILE 함수는 데이터를 특정한 개수의 구간으로 나누고, 각 구간에 등급을 부여하는 데 사용됩니다. 예를 들어, 데이터를 4등분하여 각 등급을 1부터 4까지 부여할 수 있습니다. 이 함수는 특히 등급별로 데이터를 분석하거나 구간별로 집계할 때 유용합니다.

실무에서 쓰이는 이유

NTILE 함수는 데이터를 균등하게 나누어 구간별 분석을 수행할 때 유용합니다. 예를 들어, 고객 데이터를 분석하여 매출액에 따라 고객을 4등급으로 나누고 각 등급별로 마케팅 전략을 수립하는 경우, NTILE 함수를 사용하면 쉽게 등급을 나눌 수 있습니다.

실무에서 구체적으로 어떤 상황에서 사용될 수 있는지 예상 상황 예측

실무에서 NTILE 함수는 다음과 같은 상황에서 유용하게 사용될 수 있습니다:

  • 매출 분석: 연간 매출 데이터를 4분위로 나누어 각 구간별로 마케팅 전략을 다르게 적용할 때.
  • 고객 등급화: 고객을 구매 금액에 따라 등급을 나누어 VIP 고객, 일반 고객, 신규 고객 등으로 분류할 때.
  • 직원 성과 평가: 직원들의 성과를 상위 25%, 중간 50%, 하위 25%로 나누어 보상이나 교육 프로그램을 차별화할 때.

연습 문제

  1. NTILE 함수를 사용하여 직원들의 급여를 5등급으로 나누고, 각 등급에 속한 직원들의 이름, 직급, 급여를 출력하는 SQL 쿼리를 작성하세요.
  2. NTILE(3) 함수를 사용하여 직원들의 성과 점수를 3등급으로 나누고, 각 등급에 속한 직원들의 평균 성과 점수를 계산하세요.

연습 문제 해답

  1. SELECT ename, job, sal, NTILE(5) OVER (ORDER BY sal DESC) AS 등급 FROM emp;
   SELECT NTILE(3) OVER (ORDER BY performance_score DESC) AS 등급,
   AVG(performance_score) AS 평균_성과점수
   FROM emp
   GROUP BY 등급;

응용 문제

  1. 직원의 입사 연도를 기준으로 NTILE 함수를 사용해 3등급으로 나눈 후, 각 등급별로 가장 오래 근무한 직원의 이름을 출력하는 SQL 쿼리를 작성하세요.
  2. NTILE(4) 함수를 사용하여 특정 부서의 직원들을 4등급으로 나눈 후, 각 등급별로 평균 급여를 구하세요.

응용 문제 해답

1.

   SELECT ename,
   NTILE(3) OVER (ORDER BY hiredate ASC) AS 등급
   FROM emp
   WHERE hiredate = (SELECT MIN(hiredate) FROM emp WHERE NTILE(3) OVER (ORDER BY hiredate ASC) = 등급);
  1. SELECT NTILE(4) OVER (ORDER BY sal DESC) AS 등급, AVG(sal) AS 평균_급여 FROM emp WHERE deptno = 10 GROUP BY 등급;

전자상거래 업계에서 쓰일 수 있는 경우

전자상거래 업계에서 NTILE 함수는 다음과 같은 경우에 활용될 수 있습니다:

  • 구매 빈도에 따른 고객 등급화: 고객을 구매 빈도에 따라 상위 25%, 중간 50%, 하위 25%로 나누어 각 그룹별로 차별화된 마케팅을 적용할 수 있습니다.
  • 제품 등급화: 제품의 매출 순위에 따라 상위 25%, 중간 50%, 하위 25%로 나누어 재고 관리 및 프로모션 전략을 수립할 수 있습니다.
Posts created 411

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top