> 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 |