[프로그래머스]대장균의 크기에 따라 분류하기 2⭐

김준석·2024년 4월 9일

코딩테스트 - SQL

목록 보기
86/96

문제

https://school.programmers.co.kr/learn/courses/30/lessons/301649?language=mysql

포인트!

  • NTILE() OVER() 함수를 쓰면 아주 쉽게 할 수 있다!!!

풀이 코드

WITH P AS(
    SELECT
        ID, SIZE_OF_COLONY,
        NTILE(4) OVER(ORDER BY SIZE_OF_COLONY DESC) AS PER
    FROM
        ECOLI_DATA
)
SELECT
    ID,
    CASE
        WHEN PER=1 THEN 'CRITICAL'
        WHEN PER=2 THEN 'HIGH'
        WHEN PER=3 THEN 'MEDIUM'
        WHEN PER=4 THEN 'LOW'
    END AS COLONY_NAME
FROM
    P
ORDER BY
    ID

후기

NTILE() OVER() 윈도우 함수에 대해 알게된 문제!
해당 함수 숫자열 컬럼의 등급을 나누는데 도움을 준다.
예를 들어 월급을 4등급으로 나눈다고 한다면 아래와 같이 1Q~4Q로 나눠준다.

아래와 같이 코드를 적용하면 월급 별로 1~4등급으로 나올 것!

NTLIE(4) OVER(ORDER BY 월급col DESC)

나중에 복습을 한번더 하자!

0개의 댓글