부서별 랭킹 쉽게 구하기

2008. 9. 24. 18:56·WEB TIP/Oracle

출처 : DBguide(hikim)님

EMP table을 이용하여, 직원들의 부서별 급여 순위를 보는 SQL 만들기....


결과.

     EMPNO ENAME             SAL     DEPTNO  RANK_DEPT
---------- ---------- ---------- ---------- ----------
      7839 KING             5000         10          1  --> 10번 부서의 1등
      7782 CLARK            2450         10          2
      7934 MILLER           1300         10          3
      7788 SCOTT            3000         20          1  --> 20번 부서의 1등
      7902 FORD             3000         20          2
      7566 JONES            2975         20          3
      7876 ADAMS            1100         20          4
      7369 SMITH             800         20          5
      7698 BLAKE            2850         30          1
      7499 ALLEN            1600         30          2
      7844 TURNER           1500         30          3
      7521 WARD             1250         30          4
      7654 MARTIN           1250         30          5
      7900 JAMES             950         30          6     


초짜.---> 생각.......중.......
중짜 ---> 음... rownum을 이용하여... grouping하여... 음.. 어렵군..
고수
-- row_number()라는 analytic function을 이용한다.
-- over () 의 ()안에 order by는 순서를 정하는 기준이 되고, partition은 구분을
-- 나타냄.. 아래의 예는 즉, sal 순서로 하는데, deptno로 나누어 순서를 정함.

select empno, ename, sal,
       row_number() over ( partition by deptno order by sal desc) as rank_dept
from emp;


'WEB TIP > Oracle' 카테고리의 다른 글

HINT 사용  (0) 2008.12.17
HINT 종류  (0) 2008.09.24
Useful Oracle PL/SQLs  (0) 2007.12.24
테이블 스페이스 & 사용자 생성  (0) 2007.12.18
날짜에 대한 해당월의 주차 구하기  (0) 2006.09.08
'WEB TIP/Oracle' 카테고리의 다른 글
  • HINT 사용
  • HINT 종류
  • Useful Oracle PL/SQLs
  • 테이블 스페이스 & 사용자 생성
제프
제프
제프
ZEP@BLOG
제프
전체
오늘
어제
  • 분류 전체보기 (193)
    • 주저리 (4)
    • WEB TIP (5)
      • 웹뉴스 (1)
      • UI (3)
      • ASP (35)
      • HTML-CSS (5)
      • jQuery (7)
      • C# ,ASP.NET (29)
      • MS-SQL (40)
      • Cloud (1)
      • Oracle (24)
      • Exchange 2003 (3)
      • Windows Server (9)
      • 용어 (1)
      • IIS (4)
      • 기타 (1)
      • Redmine (3)
    • 영어 (7)
    • 경제.경영자료 (10)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • MS-SQL
  • injection
  • c#
  • 인덱스
  • 오라클
  • ASP.NET
  • Windows2003
  • oracle
  • 숙취
  • Convert
  • SQL
  • 암호화
  • asp
  • ADO
  • case
  • IIS
  • jquery
  • Git
  • 영어
  • SEQUENCE

최근 댓글

최근 글

hELLO· Designed By정상우.v4.5.2
제프
부서별 랭킹 쉽게 구하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.