다음 SQL 결과에서 회원명이 마로인 행의 R, DR, RN 값을 순서… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지

1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 SQL 결과에서 회원명이 마로인 행의 R, DR, RN 값을 순서대로 나열한 것은?

[회원]

회원명포인트
가람90
나비85
다인85
라임80
마로80
바름80
사랑70
SELECT 회원명,
       RANK() OVER (ORDER BY 포인트 DESC) AS R,
       DENSE_RANK() OVER (ORDER BY 포인트 DESC) AS DR,
       ROW_NUMBER() OVER (ORDER BY 포인트 DESC, 회원명) AS RN
  FROM 회원
 ORDER BY RN;
1
4, 3, 4
2
4, 4, 5
3
4, 3, 5
4
5, 3, 5
해설

마로(80)는 앞에 90·85·85 세 행이 있어 RANK 4, 서로 다른 값으로는 세 번째라 DENSE_RANK 3 이다.

ROW_NUMBER 는 포인트가 같으면 회원명 순으로 라임 다음 번호를 받아 5가 되며, 동점이어도 같은 번호를 주지 않는다.

  • DR 을 4로 본 것은 DENSE_RANK 도 동점 수만큼 건너뛴다고 착각한 경우이다.
  • R 을 5로 본 것은 RANK 와 ROW_NUMBER 를 혼동한 경우이다.
  • RN 을 4로 본 것은 보조 정렬인 회원명 순서를 무시한 경우이다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[SQLD] SQL 개발자 기출유형 모의고사 3회 50문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요SQLD SQL 개발자 실전 모의고사 암기장 전체 보기