본문 바로가기
  • base
SQL

[BigQuery] 순위 관련 함수

by Dobby_b 2021. 6. 15.

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