SQL

SQL 11(데이터 분석 함수로 순위 출력하기 RANK: rank() over (order by ~) , PARTITION BY)

아리빠 2023. 5. 9. 19:27

1. 직업이 analyst, manager인 사람들의 이름, 직업, 월급, 월급의 순위 출력하기

 

where 로 job = 'analyst', 'manager' 조건 걸어주기

 

순위 출력

rank로 해주기 

 

● RANK()는 순위를 출력하는 데이터 분석 함수

 rank() 뒤 over 다음 나오는 괄호 안에 출력하고 싶은 데이터 정렬하는 sql 문장 넣으면, 그 칼럼 값에 대한 데이터의 순위가 출력된다

 

 

처음 작성한 쿼리 

rank() over (sal) 만 작성해서 오류가 발생했다.

over() 함수는 순위를 지정하는 기준이 필요하다, 즉 어떤 열이 기준이 될 것인가가 명시되어야 한다

 

-> 결과를 정렬하는 order by와 같이 써준다

위 쿼리에서 직업을 대문자로 안 써줘서 선택된 레코드가 없다는 결과가 나왔었다

 

좀 더 보기 편하게 as 순위 붙여서 만든 쿼리

 


2. 직업별 월급이 높은 순서대로 순위를 부여해 각각 출력하기 

-> 직업별로 묶어서 순위부여