정보처리기사 실기SQLSQL - 윈도우 함수난이도 5SHORT_ANSWER

정보처리기사 실기 SQL - 윈도우 함수 기출문제 #210

문제

다음 [판매] 테이블에서 SQL문을 실행했을 때, 상품명이 'B'인 행의 dense_rk 값을 쓰시오.

상품명카테고리수량
A전자150
B전자120
C의류120
D전자180
E의류100
SQL
SELECT 상품명, DENSE_RANK() OVER (PARTITION BY 카테고리 ORDER BY 수량 DESC) AS dense_rk FROM 판매;

정답

3

3

해설

DENSE_RANK() 함수는 PARTITION BY로 카테고리별로 나누어 순위를 매긴다.

1단계: 카테고리별로 데이터 분할

  • 전자 카테고리: A(150), B(120), D(180)
  • 의류 카테고리: C(120), E(100)

2단계: 각 카테고리 내에서 수량 기준 내림차순 정렬

  • 전자 카테고리: D(180) → A(150) → B(120)
  • 의류 카테고리: C(120) → E(100)

3단계: DENSE_RANK() 순위 부여

  • 전자 카테고리에서 D(180)=1위, A(150)=2위, B(120)=3위

따라서 상품명 'B'의 dense_rk 값은 3이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.