mysql将同一张表中按照两个时间点的数据相减后求和

mysql将同一张表中按照两个时间点的数据相减后求和,第1张

select sum(a.data-b.data)

from

(select data,time from 表名 where id=1) a,

(select data,time from 表名 where id=2) b

where a.time=b.time

你看是这个意思吗?

不过这样的话数据要求比较严格,同一时间id为1为2的只能有1条,多了会出错,但是大概意思就是上边所写

你需要知道在mysql数据库中是没有行,这一概念的。所以说,你让下一行减去上一行这个本身就是不成立的。处理的办法是把数据输出之后,用程序比如PHP。等等进行处理输出。单独用sql是无法实现的。

不太明白,你的查询结果不应该放到一起,给个例子吧?

select 日期, sum(case when 销售方式 = '购买' then 金额 end) 购买,

sum(case when 销售方式 = '退货' then 金额 end) 退货,

sum(case when 销售方式 = '退货' then -1 else 1 end * 金额)  实际销售额,营业员

from B

group by 日期,营业员


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8519595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-17
下一篇 2023-04-17

发表评论

登录后才能评论

评论列表(0条)

保存