首页 > 数据库技术 > 详细

mysql 多条记录判断相加减进行计算

时间:2015-06-04 11:04:59      阅读:401      评论:0      收藏:0      [点我收藏+]

code        pay    payflag
  00001   100.00   0
  00001   50.00     1
  00001   50.00     0
  00002   200.00    0
  
  pay 是 decimal,payflag 0 是付款, 1 是退款
  把code相同并payflag=0的pay相加减去payflag=1的pay得到下面这下的数据
 
  code        pay  
  00001   100.00  
  00002    200.00  

第一种:

select code,sum(pay*(case payflag when 1 then -1 else 1 end)) as pay
from [table]
group by code

 

第二种:

select code,sum(if(payflag=0,pay,-1*pay))
from tt

group by code

第三种

select code, sum(pay*(cos(PI()*payflag))) as pay
from [tablename]
group by code

mysql 多条记录判断相加减进行计算

原文:http://www.cnblogs.com/d-blog/p/4550942.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!