QUESTION45
윈도우 RANGE BETWEEN
아래 조건에서 설명하는 SQL로 가장 적절한 것은?
[테이블] 사원(사원ID, 사원명, 부서ID, 급여)
[조건] 부서ID가 20인 사원의 ID, 사원명, 급여, 해당 사원의 급여에서 -300부터 +400 사이에 해당되는 급여를 받는 사원의 수를 구하고, 실행 결과는 급여가 낮은 순으로 정렬한다.
①
SELECT 사원ID, 사원명, 급여,
COUNT(*) OVER(PARTITION BY 부서ID
ORDER BY 급여
RANGE BETWEEN 300 PRECEDING AND 400 FOLLOWING)
FROM 사원
WHERE 1=1 AND 부서ID = 20
ORDER BY 급여 DESC;
②
SELECT 사원ID, 사원명, 급여,
COUNT(*) OVER(PARTITION BY 부서ID
ORDER BY 급여
RANGE BETWEEN 300 PRECEDING AND 400 FOLLOWING)
FROM 사원
WHERE 1=1 AND 부서ID = 20
ORDER BY 급여;
③
SELECT 사원ID, 사원명, 급여,
COUNT(*) OVER(PARTITION BY 부서ID
ORDER BY 급여
RANGE BETWEEN 400 PRECEDING AND 300 FOLLOWING)
FROM 사원
WHERE 1=1 AND 부서ID = 20
ORDER BY 급여 DESC;
④
SELECT 사원ID, 사원명, 급여,
COUNT(*) OVER(PARTITION BY 부서ID
ORDER BY 급여
RANGE BETWEEN 400 PRECEDING AND 300 FOLLOWING)
FROM 사원
WHERE 1=1 AND 부서ID = 20
ORDER BY 급여;