대장균의 크기에 따라 분류하기 2
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
- PERCENT_RANK() : 상대 순위 함수로, 현재 행 값에 대해 0~1 사이의 상대값을 리턴
- OVER() : 각 행별로 () 안의 특정 기준에 따라 필요한 집합을 구해 함수를 적용
- BETWEEN 하면 안되는 이유 -> 소수점 N번째까지 모두 포함할 수 없기때문
SELECT ID, CASE
WHEN P.PERCENT <= 0.25 THEN "CRITICAL"
WHEN P.PERCENT <= 0.5 THEN "HIGH"
WHEN P.PERCENT <= 0.75 THEN "MEDIUM"
ELSE "LOW" END AS COLONY_NAME
FROM
(SELECT ID,
PERCENT_RANK() OVER (ORDER BY SIZE_OF_COLONY DESC) AS PERCENT
FROM ECOLI_DATA) AS P
ORDER BY 1
참고) SQL OVER절 https://velog.io/@wltn716/SQL-Over-%EC%A0%88
'코딩테스트 > SQL' 카테고리의 다른 글
| [SQL][YEAR, JOIN] 연도별 대장균 크기의 편차 구하기 (0) | 2024.11.01 |
|---|---|
| [SQL][BIT] 조건에 맞는 개발자 찾기 (0) | 2024.11.01 |
| [SQL][IFNULL] 특정 조건을 만족하는 물고기별 수와 최대 길이 구하기 (0) | 2024.11.01 |
| [SQL] 수학함수 (1) | 2024.10.31 |
| [SQL] 문자열 안에 특정 문자 자릿수만큼 넣기 LPAD, RPAD (0) | 2024.10.31 |