Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 자바 1003
- 2346 풍선 터뜨리기
- IAM Identity Center
- 10813 자바
- 자바 10866
- 코딩테스트
- 1010 자바
- 티움투어
- 백준 10866 자바
- 자바 28278
- 백준
- 1764 자바
- 자바 2164
- dfs
- 10807 자바
- 2164 자바
- 데보션영 3기
- 백준 2346 자바
- IAM 사용자
- 28278 스택 2
- BFS
- 10810 자바
- 자바
- 2798 자바
- 백준 28278 자바
- 백준 1764 자바
- 2748 자바
- 파이썬
- 자바 2346
- 그리디
Archives
- Today
- Total
자두의 데브로그
[MySQL] 프로그래머스 대장균의 크기에 따라 분류하기 2 본문
https://school.programmers.co.kr/learn/courses/30/lessons/301649
RANK() 함수는 쓸 일이 없어서 사용해 본 적이 없는데 심지어 PERCENT_RANK()는 있는지도 몰랐다.
- RANK()
데이터의 순위를 계산하는 함수
동일한 값이 있을 경우 동일한 순위를 부여하며, 같은 값이 있을 경우 순위에 공백이 발생
동률이 있을 경우 다음 순위는 건너뛰어짐
SELECT column_name,
RANK() OVER (ORDER BY column_name DESC) AS rank
FROM table_name;
- PERCENT_RANK()
특정 값이 데이터 집합 내에서 백분율 순위를 계산하는 함수
0에서 1 사이의 값으로 표현되며, 최소값은 0, 최대값은 1에 가까움
데이터 집합에서 특정 행이 얼마나 상위에 위치하는지를 백분율로 나타냄
SELECT column_name,
PERCENT_RANK() OVER (ORDER BY column_name DESC) AS percent_rank
FROM table_name;
✨ (PERCENT_)RANK() OVER (ORDER BY 컬럼) as ALIAS 로 SELECT 절에서 활용이 가능하다!
추가로, from에서 꼭 만들어져있는 테이블이 아니라 내가 새롭게 만들고 싶은 테이블을 만들어서 as ~로 alias 지정해서 만들게 되면 해당 테이블에 대해서 값을 select 할 수 있다.
-- 코드를 작성해주세요
select ed.ID as ID,
case
when ed.per <= 0.25 then 'CRITICAL'
when ed.per <= 0.5 then 'HIGH'
when ed.per <= 0.75 then 'MEDIUM'
else 'LOW'
end as COLONY_NAME
from
(select ID, PERCENT_RANK() over (order by SIZE_OF_COLONY desc) as per from ECOLI_DATA) as ed
order by ID;
'코딩테스트 > SQL' 카테고리의 다른 글
[MySQL] 프로그래머스 잡은 물고기 중 가장 큰 물고기의 길이 구하기 (1) | 2024.10.10 |
---|---|
[MySQL] 프로그래머스 멸종위기의 대장균 찾기 (2) | 2024.10.10 |
[MySQL] 프로그래머스 부모의 형질을 모두 가지는 대장균 찾기 (0) | 2024.10.10 |
[MySQL] 프로그래머스 특정 형질을 가지는 대장균 찾기 (0) | 2024.10.10 |
[MySQL] 프로그래머스 대장균의 크기에 따라 분류하기 1 (0) | 2024.10.10 |