[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를 기준으로 한 순위를 반환합니다.

순위 함수를 사용하는 서브쿼리는 데이터베이스 시스템에 따라 지원되는 기능이 다를 수 있으므로, 사용하는 데이터베이스 시스템의 문서를 참조하는 것이 좋습니다.