sql差值计算

image.png如果是要2减去1的值,sql怎么计算

SQL 在菜鸟的菜鸡 发布于 2024-7-24 11:29 (编辑于 2024-7-24 11:29)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
华莉星宸Lv7高级互助
发布于2024-7-24 11:31(编辑于 2024-7-24 11:34)

用两段SQL

union all拼接

在进行字段的减

------------------参考

select sum(a1) as a1,sum(a2) as a2,sum(b1) as b1,sum(b2) as b2

from (

select A  as a1,B as b1,null as a2,null as b2

from tb

where 序号=1

union all

select null as a1,null as b1,A  as a2,B as b2

from tb

where 序号=2)

最佳回答
0
JL98Lv6中级互助
发布于2024-7-24 11:32(编辑于 2024-7-24 11:33)

序号也是数据里的吗?那有两个2和两个1,怎么确定哪个2减哪个1呢,还是直接1和2分别求和算?

最佳回答
0
VincentSLv3见习互助
发布于2024-7-25 08:21

利用LAG函数返回结果集中先前行的数据,不过你这个数据要先进性分组才行

select 

    a字段

    , LAG(a字段) OVER (PARTITION BY 分组字段 ORDER BY 序号 ) as 上一行a字段的值

    ,a字段 - LAG(a字段) OVER (PARTITION BY 分组字段 ORDER BY 序号 ) as 差值

from table

  • 4关注人数
  • 150浏览人数
  • 最后回答于:2024-7-25 08:21
    请选择关闭问题的原因
    确定 取消
    返回顶部