1. row_number()
- 중복 값이라고 해도 순차적으로 순위
- 중복값 다음 값에 대해서 순차적 순위 출력
[사용 예시]
row_number() over(partiton by 그룹 order by 순서기준(desc))
- partiton by 의 경우 없어도 무방
- desc를 붙이면 내림차순 (ex. 무게많이 나가는 순서 등)
2. rank()
- 중복 값에 대해 동일한 순위 부여
- 중복 값 다음 값에 중복순위 + 중복값 개수의 순위 출력
- 기존 등수매기기와 유사
- ex.) 1등 1명, 2등 1명, 3등 2명일 경우 다음 순위는 5등으로 출력
[사용 예시]
rank() over(partiton by 그룹 order by 순서기준(desc))
- partiton by 의 경우 없어도 무방
- desc를 붙이면 내림차순 (ex. 마지막으로 등록한 사람 등을 찾을 때 )
3. dense_rank()
- 중복 값에 대해서 동일한 순위 부여
- 중복 값 다음 값에 대해서 중복순위 + 1
- ex.) 1등 1명, 2등 1명, 3등 2명이어도 다음 순위는 4등
[사용 예시]
dense_rank() over(partiton by 그룹 order by 순서기준(desc))
- partiton by 의 경우 없어도 무방
- desc를 붙이면 내림차순 (ex. 마지막으로 등록한 사람 등을 찾을 때 )
'SQL' 카테고리의 다른 글
[Intro] 코드 뷰어 프로그램 추천 Visual Studio Code (0) | 2023.06.03 |
---|---|
[BigQuery] LAG, LEAD 함수 (0) | 2022.05.06 |