> salaries 테이블에서 모든 열을 조회하세요

> 다음 명령어를 포함하여 select에서 네개의 행을 추가합니다

ROW_NUMBER() over (order by salary desc) as ROW_NUMBER,
RANK() over (order by salary desc) as RANK,
DENSE_RANK() over (order by salary desc) as DENSE_RANK,
NTILE(100) over (order by salary desc) as NTILE

 

> salaries 테이블에서 모든 열을 조회하세요

> 윈도우 함수를 사용하여 playerID를 파티션으로 설정하여 playerID별로 salary의 순위를 표시하세요

> 다음 명령어를 포함하여 select에서 한개의 행을 추가합니다

 

> salaries 테이블에서 모든 열을 조회하세요

> 윈도우 함수를 사용하여 playerID를 파티션으로 설정하여 playerID별로 salary의 순위를 표시하세요

> LAG와 LEAD를 사용하여 salary의 이전 값, 다음 값을 각각 표시하세요

 

> 다음 쿼리문을 실행하세요

select *,
	RANK() over (partition by playerID order by salary desc) as RANK,
	FIRST_VALUE(salary) over	(partition by playerID 
								order by salary desc
								rows between unbounded preceding and current row
								) as best,
	LAST_VALUE(salary) over (partition by playerID 
								order by salary desc
								rows between current row and unbounded following
								) as worst
from salaries
order by playerID;

 

> 위 쿼리문과 동일하지만 rows 속성이 빠져있습니다

> 다음 쿼리문을 실행하세요

select *,
	RANK() over (partition by playerID order by salary desc) as RANK,
	FIRST_VALUE(salary) over	(partition by playerID 
								order by salary desc
								) as best,
	LAST_VALUE(salary) over (partition by playerID 
								order by salary desc
								) as worst
from salaries
order by playerID;

'db' 카테고리의 다른 글

[MSSQL] 변수  (0) 2023.02.22
[MSSQL] TRANSACTION TRY CATCH  (0) 2023.02.22
[MSSQL] JOIN (INNER, OUTER)  (0) 2023.02.22
[MSSQL] UNION  (0) 2023.02.22
[MSSQL] INDEX  (0) 2023.02.21
bonnate