SQL查询 - 数据的交易SUM(每笔交易)
问题描述:
我有这个表:SQL查询 - 数据的交易SUM(每笔交易)
Trans_ID Name Value Total_Item
100 I1 0.33333333 3
100 I2 0.33333333 3
400 I1 0.33333333 3
400 I2 0.33333333 3
800 I1 0.25 4
800 I2 0.25 4
900 I1 0.33333333 3
900 I2 0.33333333 3
1000 I1 0.2 5
1000 I2 0.2 5
我需要把它做成:
ITEM VALUE
I1,I2 0.28999998
值来自于各2之和计算在所有的交易/总交易项目
EX: item I1 & I2 at trans 100
(0.33333333 + 0.33333333) = 0.666666666
trans 400
(0.33333333 + 0.33333333) = 0.666666666
trans 800
(0.25+0.25) = 0.5
trans 900
(0.33333333 + 0.33333333) = 0.666666666
trans 1000
(0.2+0.2) = 0.4
So Value will be:
(0.666666666+0.666666666+0.5+0.666666666+0.4)/10= 0.28999998
*since total transaction in this table is example table 10. there's aprox 50k transaction in my real table
请注意Total_item值是固定的每笔交易并没有错(注意:反式100只有2个项目,我在项目总投入3)
我和毫秒的存取工作(但一般的SQL查询是罚款)
答
如果你对自己的过程是正确的,那么所有您使用的分组不是必需的 - 没有分组的价值是相同的。那就是:
((T100_I1 + T100_I2)+(T400_I1 + T400_I2))/ 4 =(T100_I1 + T100_I2 + T400_I1 + T400_I2)/ 4 =
换句话说,要获得价值你描述你想要的,你只需要总结所有的价值,并除以他们的计数。
select sum(value)/count(*)
from table
好一,我错过了,谢谢 – Rico 2010-12-06 00:55:44