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
운영게시판
최근게시물
Oracle Q&A 21481 게시물 읽기
No. 21481
[질문]SQL문으로 비율을 아래에 나타내고 싶습니다..
작성자
아폴론(apollon)
작성일
2005-01-19 17:38
조회수
1,723

오라클 8.1.5 입니다.

테이블 명은 gamsdb 이구요

ga_cgmt Number 매출액, 값 100,000,000

ga_wjmt Number 원가 , 값 80,000,000

ga_jsdt varchar2 매출일자 ...

 

이럴때요

================================

구분 금액

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

매출 100,000,000

수익 20,000,000

비율 20

===============================

이렇게 비율을 아래에 나타내고 싶습니다.

 

 

select 매출
from
(
--매출관련
select sum(ga_cgmt) 매출 from gamsdb
where substr(ga_jsdt,1,7) = '2004-12'


--수익관련
union all
select sum(ga_cgmt)-sum(ga_wjmt) 매출 from gamsdb
where substr(ga_jsdt,1,7) = '2004-12'

--비율관련
union all
select ((sum(ga_cgmt)-sum(ga_wjmt))/sum(ga_cgmt))*100 매출
from gamsdb
where substr(ga_jsdt,1,7) = '2004-12'
)

 

이렇게 하면 나오긴 나오는데요... 같은 디비를 세번 읽었습니다.

또 SQL문이 복잡할 때의 비율은 구할수도 없더군요... 실력이 달려서...

위 SQL문을 최적화(튜닝?) 하고 싶습니다. 고수님들의 조언 부탁 드립니다.

 

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

select 매출, (매출 - 원가) 수익, ((매출 - 원가) / 매출 * 100) 비율

from (

select sum(ga_cgmt) 매출, sum(ga_wjmt) 원가 

from gamsdb
where ga_jsdt like '2004-12%'

nomadism님이 2005-01-20 09:41에 작성한 댓글입니다. Edit

nomadism님 답변해 주셔서 감사 합니다.

 

답변대로 한다면  매출   수익    비율   이렇게 조회 될것입니다.

저는  매출

        수익

        비율

이렇게 아래로 조회 하고 싶습니다.

다시한번 부탁 드립니다.  감사합니다

 

아폴론(apollon)님이 2005-01-20 19:31에 작성한 댓글입니다.

select 매출 + 원가 + 비율

from (

select rnum,

          decode(rnum, 1, 매출, 0) 매출

          decode(rnum, 2, 원가, 0) 원가,

          decode(rnum, 3, (매출 - 원가) / 매출 * 100, 0) 비율

         from (

                select sum(ga_cgmt) 매출, sum(ga_wjmt) 원가 

                from gamsdb
                where ga_jsdt like '2004-12%'

                 ) a,

                (select rownum rnum

                 from temp

                 where rownum <= 3

                ) b

          );

 

 

temp 테이블은 건수가 3개이상인 아무 테이블이나 잡으시면 됩니다..

 

nomadism님이 2005-01-24 10:05에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
21485아카이브로그 모드로 운영중인 DB에 새벽 배치작업으로 인해 로그파일이 너무 많이 쌓이는데 해결방법이 없을까요? [2]
김태진
2005-01-19
2242
21483리스너 CPU 98% 이상점유 문제...
초보
2005-01-19
1148
21482PK와 UK(AK) 가 컬럼 항목은 같고, 컬럼 순서만 다르게 구성하는 경우의 차이점이 있나요?
박문기
2005-01-19
1853
21481[질문]SQL문으로 비율을 아래에 나타내고 싶습니다.. [3]
아폴론
2005-01-19
1723
21480sqlldr 의 사용에 관해서
권종중
2005-01-19
1945
21479ora-12560 [1]
곽은호
2005-01-19
3884
21478널과 ''의 구분?
dba
2005-01-19
1267
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다