티스토리 뷰
반응형
Sybase IQ에서 분석함수 사용시 편리한 점이 있어 소개해드립니다.
바로 partition by 에 기술된 내용을 alias를 줘서 공통으로 사용할 수 있다는 것입니다.
1. 보편적인 방법
select rank() over (partition by 주민번호, 입력일자 order by 주문금액) rn
,dense_rank() over (partition by 주민번호, 입력일자 order by 주문금액) r2
from 주문;
2. window 절 이용
select rank() over (ws1) rn
,dense_rank() over (ws1) rn2
from 주문
window ws1 as (partition by 주민번호, 입력일자 order by 주문금액)
;
window절을 이용하면 훨씬 간단하게 분석함수 쿼리를 작성할 수 있습니다.
복수개의 alias도 가능합니다.
window ws1 as ~~~
,ws2 as ~~~~ 이런식으로 말이죠.
PS. IQ에서는 alias 기능이 막강한데요 예를 들어 select list 절에 나열된 순서에서 바로 앞에 기술된 alias를 뒤의 리스트에서
사용할 수 있구요.
select sum(주문금액) over (ws1) amt_sum
,case when amt_sum > 10000 then 'Y' else 'N' end as YN
from 주문
windows ws1 as (partition by 주민번호 rows between unbouned preceding ans current row order by 주문일시)
;
또한 select list에 있는 alias를 group by절에서도 사용할 수 있습니다.
오라클에서는 select list에 있는 것을 group by절에도 동일하게 기입해 줘야 되죠.
특히 case when이나 decode 문장을 2군데 모두 써주는것은 여간 귀찮은 일이 아닙니다.
바로 partition by 에 기술된 내용을 alias를 줘서 공통으로 사용할 수 있다는 것입니다.
1. 보편적인 방법
select rank() over (partition by 주민번호, 입력일자 order by 주문금액) rn
,dense_rank() over (partition by 주민번호, 입력일자 order by 주문금액) r2
from 주문;
2. window 절 이용
select rank() over (ws1) rn
,dense_rank() over (ws1) rn2
from 주문
window ws1 as (partition by 주민번호, 입력일자 order by 주문금액)
;
window절을 이용하면 훨씬 간단하게 분석함수 쿼리를 작성할 수 있습니다.
복수개의 alias도 가능합니다.
window ws1 as ~~~
,ws2 as ~~~~ 이런식으로 말이죠.
PS. IQ에서는 alias 기능이 막강한데요 예를 들어 select list 절에 나열된 순서에서 바로 앞에 기술된 alias를 뒤의 리스트에서
사용할 수 있구요.
select sum(주문금액) over (ws1) amt_sum
,case when amt_sum > 10000 then 'Y' else 'N' end as YN
from 주문
windows ws1 as (partition by 주민번호 rows between unbouned preceding ans current row order by 주문일시)
;
또한 select list에 있는 alias를 group by절에서도 사용할 수 있습니다.
오라클에서는 select list에 있는 것을 group by절에도 동일하게 기입해 줘야 되죠.
특히 case when이나 decode 문장을 2군데 모두 써주는것은 여간 귀찮은 일이 아닙니다.
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 카카오 에드
- 남설 팔찌
- GKRS
- 매직 트랙패드2
- 로니카 BCS
- 파나소닉 비데 DL-EH10KWS
- 오미크론
- 홈 오피스
- 배당급
- 솔리드 쿨론
- 유가바이트디비
- 브리다 정수기
- 증권정보포털
- 별이 빚나는 밤
- Life Chair
- 루미큐브 종류
- 톡토기
- 화분벌레
- JMW 헤어드라이기기
- yugabyteDB
- 별잉 빛나는 밤
- VARIDESK
- weka
- Pixel Pals
- 고체 향수
- Sybase IQ
- 코라나 19
- 르세라핌
- 빈센트 반 고흐
- node.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함