SQLDSQL 기본COUNT DISTINCT난이도 2MCQ

SQLD COUNT DISTINCT 기출문제 #3597

문제

주어진 결과를 출력하는 쿼리로 옳은 것은?

COL1COL2
A10
A20
B20
C30

<결과>

COUNT()
2

① SELECT COUNT(DISTINCT COL1) FROM TAB1 WHERE COL2 <= 20 ② SELECT COUNT(COL1) FROM TAB1 WHERE COL2 <= 20 ③ SELECT COUNT(COL1) FROM TAB1 WHERE COL2 <= 20 GROUP BY COL1 ④ SELECT COUNT(COL1) FROM TAB1 WHERE COL2 < 30 GROUP BY COL1

정답

1

해설

정답: 1. COL2 <= 20인 행의 COL1은 A, A, B이고, DISTINCT COL1의 개수는 A와 B로 2개이다.

오답 풀이

  • 1번: 중복을 제거한 COL1 개수가 2이므로 옳다.
  • 2번: 조건에 맞는 행 수는 3건이다.
  • 3번: GROUP BY COL1로 인해 A 그룹 2, B 그룹 1처럼 여러 행이 나올 수 있다.
  • 4번: GROUP BY COL1로 인해 단일 결과 2만 반환된다고 보기 어렵다.

보충 개념 COUNT(DISTINCT 컬럼)은 중복을 제거한 값의 개수를 센다. GROUP BY를 사용하면 그룹별 결과가 반환되므로 단일 집계 결과와 다를 수 있다.

SQLD 시험 준비 가이드

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

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

[SQLD] COUNT DISTINCT SQL 기본 기출 #3597 | 문어CBT