728x90
반응형
수정 전
-- 2. 1번에서 확인한 누적 백분율 값에 대해 조건을 걸어, 상위 30%초과 상위 70%이내 학생들을 출력하세요.
SELECT ID, SCORE,
CUME_DIST() OVER(ORDER BY SCORE DESC) AS CUME_DIST
FROM (SELECT S.ID, S.SCORE,
CUME_DIST() OVER(ORDER BY SCORE DESC) AS S.CUME_DIST
FROM STUDENT S)
WHERE S.CUME_DIST BETWEEN 0.3 AND 0.7
ORDER BY S.CUME_DIST;
-일단 from 절에서 서브쿼리로 썼으면 굳이 select에서 다시 할 필요 없음
- as 뒤에 테이블명을 붙이면 X
- 서브쿼리 값을 메인쿼리에서 가져다가 사용하지 x
수정 후
SELECT ID, SCORE, CUME_DIST
FROM (SELECT S.ID, S.SCORE,
CUME_DIST() OVER(ORDER BY S.SCORE DESC) AS CUME_DIST
FROM STUDENT S) T -- 서브쿼리 별칭을 메인 쿼리에서 사용하지 않더라도 무조건 명시해야 오류가 x
WHERE CUME_DIST BETWEEN 0.3 AND 0.7
ORDER BY CUME_DIST;
- 서브쿼리 별칭을 메인 쿼리에서 사용하지 않더라도 무조건 명시해야 오류가 x
728x90
반응형
'Data Science > SQL' 카테고리의 다른 글
[Elice sql] cte..는 계속 헷갈림. (0) | 2025.03.13 |
---|---|
[Elice SQL] full outer join을 union으로 할 때 (0) | 2025.03.12 |
[Elice sql] 그룹 함수 (0) | 2025.03.11 |
[Elice sql] 윈도우 함수 (0) | 2025.03.11 |
[Elice sql] 윈도우 함수.. 오타 진짜 주의 (0) | 2025.03.11 |