https://school.programmers.co.kr/learn/courses/30/lessons/301649
WITH 데이터이름 AS (
) SELECT * FROM 데이터이름 ORDER BY ID;
NTILE(몇개의그룹) OVER (ORDER BY 사이즈 DESC)
RANK() OVER ( [PARTITION BY partition_expression, ... ] ORDER BY sort_expression [ASC | DESC], ... )
WITH RankedData AS (
SELECT
ID,
size_of_colony,
NTILE(4) OVER (ORDER BY size_of_colony DESC) AS percentile_group
FROM
ecoli_data
)
SELECT
ID,
CASE
WHEN percentile_group = 1 THEN 'CRITICAL' -- 상위 25%
WHEN percentile_group = 2 THEN 'HIGH' -- 25~50%
WHEN percentile_group = 3 THEN 'MEDIUM' -- 50~75%
WHEN percentile_group = 4 THEN 'LOW' -- 하위 25%
END AS COLONY_NAME
FROM
RankedData
ORDER BY
ID;
[프로그래머스] 특정 형질을 가지는 대장균 찾기 (0) | 2025.01.21 |
---|---|
[프로그래머스] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2025.01.21 |
[프로그래머스] 상품별 매출 구하기 (0) | 2025.01.16 |