-
순번, 순위 매기기컴퓨터/SQL, 데이터모델링 2020. 1. 19. 20:55
1. ROW_NUMBER()
SELECT ROW_NUMBER() OVER (ORDER BY 급여 desc) as 순위, 이름, 분서, 직책, 급여 FROM 급여;
각각의 행에 대한 일련의 번호를 붙여준다.
1부터 순차적으로 번호를 매긴다
2. RANK()
순위에 대한 순번으로 동률일 경우 같은 순번으로 처리한다.
SELECT RANK() OVER (ORDER BY 급여 desc) as 순위, 이름, 부서, 직책, 급여 FROM 급여;
예를 들어 7등이 2명일 경우 다음 등수는 9등
3. DENSE_RANK()
동률 순번이 있을 경우 그 다음 순위자는 바로 다음 순번으로 매겨진다.
예를 들어 7등이 2명인 경우 다음 등수는 8등
SELECT DENSE_RANK() OVER (ORDER BY 급여 desc) as 순위, 이름, 부서, 직책, 급여 FROM 급여;
4. PARTITION BY : 그룹별로 순위를 매긴다
예를 들어 부서별로 순위 매긴다
SELECT RANK() OVER (PARTITION BY 부서 ORDER BY 급여 desc) as 순위, 이름, 부서, 직책, 급여 FROM 급여;
'컴퓨터 > SQL, 데이터모델링' 카테고리의 다른 글
MySQL - 설치 및 기본 정보, 기본 CRUD 명령어 (0) 2020.01.12 [데이터 모델링] 논리적 데이터 모델링 (0) 2020.01.11 [관계형 데이터 모델링] 개념적 데이터 모델링 (0) 2020.01.11