总数超过1的总和

时间:2020-04-08 20:03:11

标签: sql

当前我执行以下代码

select  system,aid,mid,buysell,sdate,medate,namount,type, count(*)
from databasefile
where mid in ('123456')
group by  system,aid,mid,buysell,sdate,medate,namount,type
order by aid

我得到以下数据 ''' enter image description here

我要插入一个差异字段,该字段的计算方式为[(系统a的namount)-(系统z的namount)]。系统z的namount的计算方式为(购买的总namount-出售的总namount)。

请帮助我获得一个sql来实现这一目标,非常感谢,衷心感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

计算为[(系统a的数量)-(系统z的数量)]

如果这是您想要的,则可以使用窗口功能:

select system, aid, mid, buysell, sdate, medate, namount, type, count(*),
       (sum(case when system = 'a' then namount else 0 end) over () -
        sum(case when system = 'z' then namount else 0 end) over ()
       )
from databasefile
where mid in ('123456')
group by system, aid, mid, buysell, sdate, medate, namount, type
order by aid
相关问题