
1、使用sum()函数的时候,结果长度大于最大值,数据溢出,出现负值。
2、可能会把数字减为负数(两个进程同时select出来的都大于0,都会执行update。
要写的字很多,简单点,找个人给你演示一下就行。总之,你将原始数据填入表格后,在要求和的表格应有求哪几个格子的和,在表格上方的空的长条里输入哪几个格子格子坐标,如在c7格为c3到c6的和,在表格上方的空的长条里编辑公式c3+c4+c5+c6,即的结果。
按照你的意思,就是说今天的收入1+收入2-(支出1+支出2),然后保留大于0的,并且显示剩余的金额是多少,是这个意思吧。先写sum的部分,如果直接写全的话发不上来。
sum(case when 类型字段=1 or 类型字段=2 then 金额 else 0-金额 end) as jtsr
这样当类型字段为收入时,为正数,支出时为负数,二者相加就是收入-支出
后面就是 where 限定时间 group by 绑定的用户ID字段 having jtsr>0
这样就可以了,如果不是很明白,那么子查询也可以写出来
(1)把类型字段为3和4的金额变为负数
(2)根据绑定的用户ID字段求sum(金额)
(3)判断sum(金额)>0,然后显示
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)