KEEP 키워드 질문입니다. 0 4 1,562

by jgwk [2013.09.30 14:14:11]


안녕하세요~

DENSE_RANK 를 사용하다보니..
KEEP 이라는 키워드가 나오네요.

오라클 매뉴얼에도 KEEP 키워드 자체에 대해서는 나오지 않는데,
혹시 aggregate_function KEEP(DENSE_RANK ~) 자체가 하나의 문법인건가요?

KEEP 키워드 자체는 별 의미가 없는것인지 궁금합니다!

감사합니다~
by 윤 [2013.09.30 15:05:18]
예전 마농님의 댓글이 도움이 될까하여 복(c+c)붙(c+v) 해봅니다 ~
----------------------------------------------------------------------
KEEP이라는게  서브의 서브에서 참조할수 없어서 쓰는걸로 알고있는데 ......

Keep 은 Group 안에서 정렬결과의 처음, 또는 마지막 자료를 조회할 때 사용합니다.
http://www.gurubee.net/article/49248
----------------------------------------------------------------------

어떤 컬럼의 최대값, 최소값을 구하는데 다른 컬럼의 값으로 조건을 주고 싶을 때,

 

MIN('column_name1') KEEP(DENSE_RANK FIRST ORDER BY 'column_name2' [ASC|DESC])

MAX('column_name1') KEEP(DENSE_RANK LAST ORDER BY 'column_name2' [ASC|DESC])  

 

column_name2 를 오름차순 | 내림차순으로 정렬한 상태의 첫번째 | 마지막번째 column_name1 의 값 !

keep(dense_rank first order by )함수

A 컬럼 기준 정렬 후 지정 된 행의 B 컬럼 값 추출 하기

first나 last로 order by 한 로우에서 첫번째 혹은 마지막로우를 가져온다


by jgwk [2013.10.02 20:14:45]

감사합니다!!


by 마농 [2013.10.01 10:12:29]

네.
생각하신대로입니다.
Keep 은 단독으로 쓰이는 함수는 아니고
집계함수와 함께 사용됩니다.

by jgwk [2013.10.02 20:13:46]
감사합니다~ ^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입