sql

오라클 특정 컬럼 순서 매기기 ROW_NUMER()OVER(PARTITION)

초이짬 2014. 3. 25. 18:57
728x90

특정 컬럼에 대한 순서를 매길때가 있다

예를 들어 c컬럼에 20130101 이라는 값이 몇개가 있는데
여기에 대해서만 따로 순서를 매길때 ROW_NUMER()OVER(PARTITION)
을 사용하면 된다.

그러면 나오는 결과 값이 20130101 값들이 중복된 순서대로 뒤에 넘버를 매긴다
자세한 사용법은 아래와 같다.

select
컬럼a
, 컬럼b
, 컬럼 c
, ROW_NUMBER () OVER (PARTITION BY 컬럼c
ORDER BY '컬럼c를 정렬시킬수 있는 컬럼' DESC) RN
from '테이블'

결과는
컬럼 a 컬럼b 컬럼c rn
1 가 20130101 1
2 나 20130101 2
3 다 20130102 1
4 라 20130102 2

728x90