2011년 09월 09일
토드 기본 셋팅 방법
# by | 2011/09/09 08:51 | DB | 트랙백 | 덧글(0)
먼저 keep(dense_rank first order by )함수
A 컬럼 기준 정렬 후 지정 된 행의 B 컬럼 값 추출 하기
first나 last로 order by 한 로우에서 첫번째 혹은 마지막로우를 가져온다
MIN(B) (DENSE_RANK FIRST ORDER BY A [ASC|DESC])
MAX(B) (DENSE_RANK LAST ORDER BY A [ASC|DESC])
오라클 클럽에서 발췌한 퀴즈를 풀면서 알게 되었다는... 스칼라서브쿼리를 생각했었는데 저런 방법도 있었구나.. ㅎ
참 배울게 많다
--참고자료(http://3030.tistory.com/88)
field1 field2
1 c
2 b
3 a
SQL> select MIN(field1), MIN(field2) KEEP(DENSE_RANK FIRST ORDER BY field1) AS field2 from table1
결과>1, c
SQL> select MAX(field1), MAX(field2) KEEP(DENSE_RANK LAST ORDER BY field1) AS field2 from table1
결과> 3 , a
--참고자료(http://tong.nate.com/rahxephon/35087891)
# by | 2011/01/26 15:31 | DB | 트랙백 | 덧글(0)
# by | 2011/01/25 10:23 | DB | 트랙백 | 덧글(0)
◀ 이전 페이지 다음 페이지 ▶
COUNT(*) OVER () : 전체행 카운트
COUNT(*) OVER (PARTITION BY 컬럼) : 그룹단위로 나누어 카운트
MAX(컬럼) OVER() : 전체행 중에 최고값
MAX(컬럼) OVER(PARTITION BY 컬럼) : 그룹내 최고값
MIN(컬럼) OVER () : 전체행 중에 최소값
MIN(컬럼) OVER (PARTITION BY 컬럼) : 그룹내 최소값
SUM(컬럼) OVER () : 전체행 합
SUM(컬럼) OVER (PARTITION BY 컬럼) : 그룹내 합
AVG(컬럼) OVER () : 전체행 평균
AVG(컬럼) OVER (PARTITION BY 컬럼) : 그룹내 평균
STDDEV(컬럼) OVER () : 전체행 표준편차
STDDEV(컬럼) OVER (PARTITION BY 컬럼) : 그룹내 표준편차
RATIO_TO_REPORT(컬럼) OVER () : 현재행값/SUM(전체행값) 퍼센테이지로 나타낼경우 100곱하면 됩니다.
RATIO_TO_REPORT(컬럼) OVER (PARTITION BY 컬럼) : 현재행값 / SUM(그룹행값) 퍼센테이지로 나타낼경우 100곱하면 됩니다.