【问题标题】:Adding row values and creating new column in MySQL在 MySQL 中添加行值并创建新列
【发布时间】:2021-11-13 11:05:20
【问题描述】:

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

我的方法 - 将“买入”和“卖出”交易类型分别添加为名为“nocolumnname”的新列(总卖出前带有减号)。 Total sell and buy values corresponding to its stocks

我的问题是,如何再次添加“AMZN”、“CMCSA”和“FOX”的总买入和总卖出值(按字母顺序)并创建一个名为“利润/损失”的新列来代替“ nocolumnname' 列。 像这样: Sample_Output

【问题讨论】:

  • 请不要将代码或数据包含在图像中。用起来很难帮你

标签: mysql sql sql-server sql-server-2008


【解决方案1】:

通常您不会创建表,只需查询如下内容:

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

如果您出于某种原因(例如性能)真的非常想要一个“表”,您可以创建一个索引视图,它基本上是一个随着源表中行的更改而更新的表。

(由于没有可用的脚本或数据,近似语法)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 2019-09-10
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 2022-07-19
    相关资源
    最近更新 更多