[sql] 서브쿼리에서 순위 함수의 사용 방법
예를 들어, 다음과 같이 서브쿼리를 사용하여 순위 함수를 적용할 수 있습니다.
SELECT employee_id, salary,
RANK() OVER (ORDER BY salary DESC) AS salary_rank
FROM employees;
위의 예시에서 RANK()
함수는 salary
를 기준으로 내림차순으로 정렬된 결과에 대해 순위를 부여합니다. 이때, ORDER BY
구를 사용하여 정렬 기준을 설정할 수 있습니다.
또한, 서브쿼리를 사용하여 정해진 조건에 따라 순위를 부여할 수 있습니다.
SELECT employee_id, salary,
(SELECT COUNT(DISTINCT salary) FROM employees e2 WHERE e2.salary >= e1.salary) AS salary_rank
FROM employees e1;
위의 예시에서는 서브쿼리를 사용하여 동일한 레코드 수를 기준으로 하여 salary
를 기준으로 한 순위를 반환합니다.
순위 함수를 사용하는 서브쿼리는 데이터베이스 시스템에 따라 지원되는 기능이 다를 수 있으므로, 사용하는 데이터베이스 시스템의 문서를 참조하는 것이 좋습니다.