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 40424 게시물 읽기
No. 40424
금액 배분 관련 입니다.
작성자
태지666
작성일
2014-04-09 10:53ⓒ
2014-04-09 10:54ⓜ
조회수
9,247

전체 금액이 있고  나눌 금액 이 있습니다

 

select '56697420', f,
 RATIO_TO_REPORT(e) OVER (PARTITION BY f)*100  ,
 RATIO_TO_REPORT(e) OVER (PARTITION BY f)* 56697420 as aa,
 round(RATIO_TO_REPORT(e) OVER (PARTITION BY f)* 56697420) as aa1
 from
(select 1 f ,38200 as e from dual union all
 select 1,16320 from dual union all
 select 1,124560 from dual union all
 select 1,191000 from dual union all      
 select 1,291840 from dual
     )

금액을 비율대로 정수로 화면에 보여 주고 싶은데 방법이 있을가요 ㅜㅜ

aa 는 된느데 aa1처럼 정수로 표현되어야 합니다.

1.2원 차이가 나는데 정수로 딱맞게 가능할까요?

 

 

 

 

 

 

 

 

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

WITH t AS
(
SELECT 1 f, 38200 e FROM dual
UNION ALL SELECT 1,  16320 FROM dual
UNION ALL SELECT 1, 124560 FROM dual
UNION ALL SELECT 1, 191000 FROM dual
UNION ALL SELECT 1, 291840 FROM dual
)
SELECT f, e
     , x, r
     , x * r aa
     , ROUND(x * r) aa1
     , ROUND(x * r)
     -- 가장 큰 값에 차이값 보정 처리 --
     + DECODE(rn, 1, x - SUM(ROUND(x * r)) OVER(PARTITION BY f), 0) aa2
  FROM (SELECT f, e
             , 56697420 x
             , RATIO_TO_REPORT(e) OVER(PARTITION BY f) r
             , ROW_NUMBER() OVER(PARTITION BY f ORDER BY e DESC) rn
          FROM t
        )
;

마농(manon94)님이 2014-04-16 16:14에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
40427ORACLE 연결 Time out 문제 [1]
허양민
2014-04-10
6488
40426오라클 셀렉트쿼리에 관해서 질문있어요 [2]
도토리
2014-04-09
7023
40425오라클 커서 질문입니다.
서호현
2014-04-09
6269
40424금액 배분 관련 입니다. [1]
태지666
2014-04-09
9247
40423오라클 트리거에 관해서 질문드려요 [2]
도토리
2014-04-08
6968
40421오라클 데이터베이스 대용량 데이터 처리 방식 문의
박래준
2014-04-04
7013
40420구간별 데이터를 일자별로 출력? [1]
sql초보자
2014-04-03
7028
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다