[sql] 중첩 쿼리를 활용한 데이터베이스 테이블 백분위수 계산

백분위수는 주어진 데이터 집합에서 어떤 값이 그 데이터 집합을 정렬했을 때 상위 몇 %에 위치하는지를 나타내는 지표입니다. 중첩 쿼리를 이용해 백분위수를 계산할 수 있습니다.

예를 들어, 주어진 테이블에서 salary 열의 값을 기준으로 90번째 백분위수를 계산하고 싶다고 가정해 봅시다.

다음은 MySQL에서 중첩 쿼리를 사용하여 이를 수행하는 코드입니다:

SELECT
    PERCENTILE
FROM
    (SELECT
        SALARY,
        NTILE(100) 
            OVER (ORDER BY SALARY) AS PERCENTILE
     FROM
        EMPLOYEE) AS T
WHERE
    PERCENTILE = 90;

위의 예제에서, 중첩된 SELECT 문은 EMPLOYEE 테이블에서 SALARY 열을 기준으로 100개의 백분위수로 구분한 후, 그 결과를 PERCENTILE 열로 반환합니다. 그 후, 외부 SELECT 문에서는 PERCENTILE 값이 90인 행을 선택합니다.

이러한 방식으로 SQL의 중첩 쿼리를 활용하여 데이터베이스 테이블의 백분위수를 계산할 수 있습니다.