뚜벅이

연습 0628_1 ( RANK() OVER SOMETHING) 본문

2023정처기도전

연습 0628_1 ( RANK() OVER SOMETHING)

ZZM 2021. 6. 28. 08:09

   조건

테이블 1개

A :  부서, 이름, 상여내역, 상여금

> 상여내역 별 상여금에 대한 순위.  ( 상여내역별로쪼갠뒤 상여금 크기로 orderby)

Q) 상여금테이블에서 상여내역 별 상여금에 대한 < 순위> 를 구하시오.

순서는 내림차순 , 속성명은 상여금 순위로 하고 RANK() 함수를 이용할 것 .

 

과정 

 

1. SELECT 로 시작할 것이다  표시 요구되는 것은  상여내역과 상여금 그리고 순위일 것이다. 

2. 미리상상한다. RANK() 를 쓸것이고  

3. RANK() 와 싱크로가 맞는  OVER 과  PARTITION BY 를 써주자.

4.  RANK가 참조할 OVER 절 내에는 

(  PARTITION BY 상여내역 ORDER  BY 상여금 DESC) 일 것이다. 

5. 속성명은 '상여금 순위' 로 하랬으므로 AS 상여금순위도 깨알같이 새겨주어야 할 것임. 

 

 

정답 : 

 

SELECT

   상여내역

   , 상여금

   , RANK() OVER( PARTITION BY 상여내역 ORDER BY상여금 DESC) AS '상여금 순위'

       FROM 상여금