在MySQL中添加行值并创建新列



我有一个数据库,我必须在其中选择三个特定的股票代码,并通过从总买入价值中减去总卖出价值来找到其损益值。数据库

我的方法-将'buy'和'sell'交易类型分别添加为名为'nocolumnname'的新列(在total sell前加负号)。与其股票相对应的卖出和买入总价值

我的问题是,如何再次为'AMZN', 'CMCSA'和'FOX'(按字母顺序)添加总买入和总卖出值,并创建一个名为'profit/loss'的新列,以取代'nocolumnname'列。是这样的:Sample_Output

通常你不会创建一个表,只是像这样查询:

select stock_symbol,sum( 
case when transaction = 'buy'  then amount
case when transaction = 'sell' then -amount
end
) as [profit/loss]
order by stock_symbol

或者把它放在视图中(没有ORDER BY,因为表和视图都没有顺序),然后从那里选择

select * from the_view where stock_symbol in ('AMZN', 'CMCSA' , 'FOX' ) order by stock_symbol

如果你真的,真的想要一个"表格"出于性能等原因,您可以创建一个索引视图,它基本上是一个表,当源表中的行发生变化时,它会被更新。

(由于没有可用的脚本或数据,语法大致相同)

最新更新