gpt4 book ai didi

mysql - SQL查询 - 如何获得多个行单元格之和的差异

转载 作者:行者123 更新时间:2023-12-01 00:43:32 27 4
gpt4 key购买 nike

我需要得到单个表中两个字段之和的差值(如果这造成混淆,真的很抱歉),请继续阅读示例

Id  type    account_id  stock_id    volume  price   value==========================================================1   BUY      1          1             5     500     25002   BUY      1          4            30     200     60006   BUY      1          1            10     500     50007   SELL     1          1             3     500     15008   SELL     1          1             2     500     10009   SELL     1          4            20     120     2400

以上是我的示例数据,我希望我的 SQL 查询结果类似于,

account_id  stock_id    volume  totalAmount============================================1           1           10      50001           4           10      3600

基本上在这里,我试图获得唯一帐户和股票组合的总买入值(value),并减去总卖出值(value)

如有任何帮助,我们将不胜感激。

提前致谢

最佳答案

fiddle 测试: http://sqlfiddle.com/#!2/53035/1/0

select   account_id,
stock_id,
sum(case when type = 'BUY' then volume else -volume end) as volume,
sum(case when type = 'BUY' then value else -value end) as totalamount
from tbl
group by account_id,
stock_id
having sum(case when type = 'BUY' then volume else -volume end) <> 0

我根据您的评论添加了 HAVING 子句。

关于mysql - SQL查询 - 如何获得多个行单元格之和的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25952986/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com