select employee_id, job_id, last_name, salary,
row_number() over( PARTITION by job_id order by salary) rn,
count(*) over ( partition by job_id) cnt
from hr.employees
row_number() over( PARTITION by job_id order by salary) rn,
count(*) over ( partition by job_id) cnt
from hr.employees
확인할 것
row_number() over (partition by job_id order by salary)
결과값
여기서는 job_id 별로 다시 row_number를 매기는 것이다.
그리고 row_number를 줄때 기준은 salary가 가장 높은 것을 1을 주는 방식으로 진행된다.
'04번. IT 힌트얻기 > ▶ DB/ SQL ' 카테고리의 다른 글
[SQL 고수되기] 아홉번째 이야기 (0) | 2011.10.06 |
---|---|
union vs. union all (0) | 2011.10.06 |
[SQL고수되기] 여덟번째 이야기 (0) | 2011.10.05 |
[SQL고수되기] 일곱번째 이야기 (0) | 2011.10.05 |
[SQL고수되기] 여섯번째 이야기 (0) | 2011.09.30 |