[SQL#105] Biggest Single Number

Gi Woon Lee·2024년 8월 15일

SQL

목록 보기
3/33

문제 개요

  • 문제:
    mynumbers테이블에 한 번만 등장하는 수(single number) 중 가장 큰 수를 구하여라.
  • 조건:
    single number가 없으면 null을 반환하라.


예시: 한번만 등장하는 숫자 1, 4, 5, 6 중에서 가장 큰 수 6을 반환한다.

Work Flow

  1. 한 번만 등장하는 수를 구한다. CTE를 사용하면 간편하고 가독성 있는 쿼리 작성이 가능하다.

    WITH CTE AS (
        SELECT MAX(NUM) NUM
        FROM MyNumbers 
        GROUP BY NUM
        HAVING COUNT(NUM) = 1
    )

    임시 테이블 CTE에는 한 번만 등장하는 수를 저장한다.

  2. max값을 반환한다. SELECT MAX(NUM) num FROM CTE

    WITH CTE AS (
        SELECT MAX(NUM) NUM
        FROM MyNumbers 
        GROUP BY NUM
        HAVING COUNT(NUM) = 1
    )
    
    SELECT 
        MAX(NUM) num
    FROM CTE

한마디

아주 쉬운 문제.

0개의 댓글