• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    해결됨

sal_rn_desc, sal_rn_asc를 같이 쓰면 sal 컬럼의 순서는 어떻게 결정되나요?

24.02.04 22:29 작성 조회수 65

0

강사님의 쿼리를 돌리면 deptno별로 sal 컬럼이 asc 방향으로만 order by 되는 것 같습니다.

, row_number() over (partition by deptno order by sal desc) as sal_rank_desc

, row_number() over (partition by deptno order by sal asc) as sal_rank_asc

 

이 절을 쓴 후에 sal 정렬을 deptno 별로 desc 방향으로 정렬할 수 있을까요?

답변 1

답변을 작성해보세요.

1

안녕하십니까,

DBMS 별로 특성이 있어서 100% 확실한 답변이 아닐 수 있지만,

Select 절에 나열된 row_number() 에 순으로 SQL 실행이 되므로 맨 마지막 row_number() over (... order by sal asc) 순으로 최종 정렬된 결과를 가지게 됩니다.

그리고 SQL 실행의 정렬 결과는 analytic function의 order by로 하시지 마시고, order by 절을 이용하시기 바랍니다.

감사합니다.