基于SQL的股票交易系统计算

基于SQL的股票交易系统计算,sql,database-design,Sql,Database Design,需要根据数据库中的交易计算股票市场投资组合。我希望通过SQL进行的计算包括平均价格、回报率、投资组合价值等 样本数据: Stock Shares Price Value A 100 50 5000 A -20 60 -1200 A 50 40 2000 股票价格价值 A 100 50 5000 A-20 60-1200 A 50 40 2000 我还不能用SQL完成这项工作,所以我想我可能需要编写

需要根据数据库中的交易计算股票市场投资组合。我希望通过SQL进行的计算包括平均价格、回报率、投资组合价值等

样本数据:

Stock Shares Price Value A 100 50 5000 A -20 60 -1200 A 50 40 2000 股票价格价值 A 100 50 5000 A-20 60-1200 A 50 40 2000
我还不能用SQL完成这项工作,所以我想我可能需要编写输出脚本,因此任何帮助都值得感谢。

请注意,当前价格是硬编码的(38),因为它没有提供,所以需要在另一个表中提供,该表将连接到stocks表,但原理是相同的

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%

你需要告诉我们你的平台。Oracle的非标准条款使得类似EXCEL的功能变得微不足道。