상세 컨텐츠

본문 제목

ORACLE 그룹별 최대값 조회

DB/Oracle

by husks 2019. 5. 31. 17:31

본문

반응형


그룹별 최대값을 가지고 있는 컬럼의 Row만 추출하는 쿼리 입니다.


색칠한 데이터를 보면 SETT_IDX가 0, 1, 2 인 값이 존재합니다. (SVC_MM, TRACK_ID 는 동일합니다.)


여기서 SETT_IDX 가 최대값(2) 인 로우만 추출하는 쿼리 입니다.



[테이블 : tmp_test]


SVC_MM

TRACK_ID

SETT_IDX

RATIO

2019-01-01 0:00

AAA

0 0.5

2019-01-01 0:00

BBB 0 0.1

2019-01-01 0:00

BBB 1 0.2

2019-01-01 0:00

BBB 2 0.5

2019-01-01 0:00

CCC 0 0.4

2019-01-01 0:00

DDD 0 0.2

2019-01-01 0:00

EEE 0 0.4

2019-01-01 0:00

FFF 0 0.2


[쿼리]


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SELECT
    svc_mm, 
    track_id, 
    sett_idx, 
    ratio
FROM
    (SELECT
        svc_mm, 
        track_id, 
        sett_idx, 
        ratio,
        ROW_NUMBER() OVER(PARTITION BY svc_mm, track_id ORDER BY sett_idx DESC) as row_idx
    FROM
        tmp_test)
WHERE
    row_idx = 1;



[결과]


SVC_MM

TRACK_ID

SETT_IDX

RATIO

2019-01-01 0:00

AAA

0 0.5

2019-01-01 0:00

BBB 2 0.5

2019-01-01 0:00

CCC 0 0.4

2019-01-01 0:00

DDD 0 0.2

2019-01-01 0:00

EEE 0 0.4

2019-01-01 0:00

FFF 0 0.2


반응형

'DB > Oracle' 카테고리의 다른 글

ORACLE REPLACE < > 변경  (0) 2019.11.07
오라클 년 리스트  (0) 2019.06.28
ORA-02292 해결방법  (0) 2019.05.16
ORA-01403: no data found 해결  (0) 2019.04.30
오라클 소수점 0 표시  (1) 2019.04.03

관련글 더보기

댓글 영역