码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-06-04 11:06:30      阅读:192      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!