sum求和时怎样去重复值?
SELECT SUM(DISTINCT CASE WHEN BG_BG_Type =2 THEN ISNULL(b.BG_Freight,0.00)-ISNULL(a.BG_Freight,0.00) WHEN BG_BG_Type=3 THEN ISNULL(BG_DCharge,0.00) ELSE 0 END) FROM BA_Bargain a LEFT JOIN BG_Bargain b ON a.BGID=b.BGID AND a.BG_OP_Time>='2010-09-26' AND a.BG_OP_Time<'2010-10-26' AND b.BG_TNode='100625' AND (BG_BG_Type=2 or BG_BG_Type=3)
现在执行的效果是:((10+30+40)-(15+30+40))+((20+6+1)-(5+6+1))
我想要原始运费为第一次的,原始送货费为第二次的,也就是说原始运费是第一次修改的,送货费是最后一次修改的记录。。。?DISTINCT是不是只能去第一次的。。。
BA_Bargain(变更原始表)
BGID , BG_Freight (变更前的运费) ,BG_DCharge(原始送货费), BG_OP_Time
001 , 10 ,20,2010-09-26 01:00:00 (第一次)
001 , 11 ,10,2010-09-26 01:59:59 ( 第二次,然而没有变化)
002 , 30 ,6,2010-09-26 02:33:00
003 , 40 ,1,2010-09-26 03:00:00
BG_Bargain(变更后表)
BGID , BG_Freight(变更后的运费),BG_DCharge
001 , 15,5
002 , 30,6
003 , 40,1
现在执行的效果是:((10+30+40)-(15+30+40))+((20+6+1)-(5+6+1))
我想要原始运费为第一次的,原始送货费为第二次的,也就是说原始运费是第一次修改的,送货费是最后一次修改的记录。。。?DISTINCT是不是只能去第一次的。。。
BA_Bargain(变更原始表)
BGID , BG_Freight (变更前的运费) ,BG_DCharge(原始送货费), BG_OP_Time
001 , 10 ,20,2010-09-26 01:00:00 (第一次)
001 , 11 ,10,2010-09-26 01:59:59 ( 第二次,然而没有变化)
002 , 30 ,6,2010-09-26 02:33:00
003 , 40 ,1,2010-09-26 03:00:00
BG_Bargain(变更后表)
BGID , BG_Freight(变更后的运费),BG_DCharge
001 , 15,5
002 , 30,6
003 , 40,1
...全文
相关推荐
pandas去重复行并分类汇总的实现方法
今天主要记录一下pandas去重复行以及如何分类汇总。以下面的数据帧作为一个例子: import pandas as pd data=pd.DataFrame({'产品':['A','A','A','A'],'数量':[50,50,30,30]}) pandas判断dataframe是否含有重复行数据用:df.duplicated() 第一次出现的数据为False.重复的数据行就被记录为True。 去掉重复行数据使用data.drop_duplicates(). 可以看到索引乱了,我们使用data.reset_index(),里面的参数drop=True,表明要舍掉原来的索引,不然
oracle sql 去重复记录不用distinct如何实现
本文将详细介绍oracle sql 去重复记录不用distinct如何实现,需要了解的朋友可以参考下
mysql数据查询操作-实验训练2.docx
数据查询操作、单表查询、多条件查询、聚合函数查询、内连接查询、外连接查询、复合查询、等值查询、比较查询等案例截图操作等等共18页
java乐观锁原理与实现案例分析
主要介绍了java乐观锁原理与实现,结合具体案例形式分析了乐观锁的原理及java使用乐观锁实现自动派单功能的相关操作技巧,需要的朋友可以参考下
大数据学习:Hive函数.pdf
大数据学习:Hive函数.pdf


疑难问题
