database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
ㆍInformix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Informix Q&A 2224 게시물 읽기
No. 2224
불러온 데이터로 기간별 합계+평균내기.
작성자
yioru
작성일
2005-10-12 17:14ⓒ
2005-12-28 01:28ⓜ
조회수
8,821

제가 작성한 쿼리가 있는데..

위와같은 데이터를 구하려면 어떤 곳을 수정해야 하는지좀..

좀 보시고 조언좀 해주시면 감사하겠습니다!! 부탁좀 드립니다!!

 

 

select distinct test.t4,
av from table(multiset(
select T.t4, round(avg(aa),0) as av
from
table(multiset(
SELECT t4, t7 as aaFROM test
where T1='108' and t2 = '2003'
union all
SELECT t4, t10 as aaFROM test
where T1='108' and t2 = '2003'
union all
SELECT t4, t13 as aaFROM test
where T1='108' and t2 = '2003'
union all
SELECT t4, t16 as aaFROM test
where T1='108' and t2 = '2003'
union all
SELECT t4, t19 as aaFROM test
where T1='108' and t2 = '2003'
union all
SELECT t4, t22 as aaFROM test
where T1='108' and t2 = '2003'
union all
SELECT t4, t25 as aaFROM test
where T1='108' and t2 = '2003'
union all
SELECT t4, t28 as aa FROM test
where T1='108' and t2 = '2003'
)) T
group by T.t4

))tt, test where tt.t4 = test.t4



이 글에 대한 댓글이 총 1건 있습니다.

. avg() 함수는 NULL을 제외한 평균값

  ex) 5와 NULL의 평균은 5

. 안쪽의 inline-view에서..

    - t4별 t7, t10, t13(시간대별 값) 등의 값을 select하고 있는데..

       group by하는 기준이 틀린거 같네요..

       대충 짜보면 다음과 같습니다.

       (informix는 몰라서 오라클문법대로 작성해봤습니다)

      

         -------------------------------------------------

          select 년월, 시간대구분, round(avg(값),0)

   from

       ( select  t2||t3 as 년월, '03' as 시간대구분, t7 as 값

            from ..

            where ..

          union all

         select  t2||t3 as 년월, '06' as 시간대구분, t10 as 값

            from

           where

           union all

         ....  

      )

    group by 년월, 시간대구분

            -------------------------------------------------

 

   

    그리고 하나더 덧붙이자면...union all 대신에 데이터복제를 하여

   해당 테이블을 한 번만 접근하도록 하심이 어떨지요..

 

. 제일 바깥쪽의 조인은 필요없을 듯..

차영인(Guideposts)님이 2005-10-17 12:11에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
2230LVARCHAR INSERT [1]
info
2005-11-03
9292
2226이 쿼리를 인포믹스로 바꿔야하는데요.. [3]
김병호
2005-10-14
10814
2225ESQL/C로 txt파일 읽어서 table에 넣기
차영인
2005-10-12
8205
2224불러온 데이터로 기간별 합계+평균내기. [1]
yioru
2005-10-12
8821
2220문법에런데 좀 봐주세여. [4]
yioru
2005-10-04
9206
2219MS SQL2000 으로 replication 가능한지? [1]
황용석
2005-09-30
7802
2218ROW 사이즈를 줄이려면...? [1]
Tiger
2005-09-30
7772
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다