2008-10-17 2 views
1

데이터베이스의 거래를 기반으로 주식 시장 포트폴리오를 계산해야합니다. 나는 SQL을 통해 할 찾고 있어요 계산 등 평균 가격, 수익률, 포트폴리오 값이다증권 거래 시스템 SQL을 통한 계산

샘플 데이터 :

 
Stock Shares Price Value 
A  100  50  5000 
A  -20  60  -1200 
A  50  40  2000 

내가 그렇게, SQL 함께 할 수 없어 출력 결과를 스크립트로 작성해야 할 수도 있으므로 도움이 필요합니다.

+0

플랫폼을 알려 주셔야합니다. 오라클은 EXCEL과 같은 기능을 쉽게 구현할 수있는 비표준 절을 가지고 있습니다. –

+0

이 숙제가 있습니까? –

답변

2

현재 가격은 제공되지 않았기 때문에 하드 코드 (38)되어 있습니다. 주식 표에 가입 할 다른 테이블에 제공해야하지만 원칙은 동일합니다.

create table stocks (stock varchar2(10),shares number, price number); 
insert into stocks values('A', 100, 50); 
insert into stocks values('A', -20, 60); 
insert into stocks values('A', 50, 40); 

select stock, sum(shares) number_of_shares, round(sum(shares*price)/sum(shares),2) average_price, 
    sum(shares*price) amount_paid, sum(shares*38) value, 
    round((sum(shares*38)-sum(shares*price))/sum(shares*price)*100,2)||'%' rate_of_return 
from stocks 
group by stock 

STOCK NUMBER_OF_SHARES AVERAGE_PRICE AMOUNT_PAID VALUE RETURN      
A     130   44.62  5800 4940 -14.83%