-3
我有一个2列的表,1是一个ID和其他是一个int。SQL Server:其他值分开的SUM值
我如何总结唯一ID的整数?
Eg
Id Value
1 2
1 2
2 2
3 2
2 2
3 2
Result: 6 (2+2+2)
我有一个2列的表,1是一个ID和其他是一个int。SQL Server:其他值分开的SUM值
我如何总结唯一ID的整数?
Eg
Id Value
1 2
1 2
2 2
3 2
2 2
3 2
Result: 6 (2+2+2)
假设如果ID比它具有相同的值的表存在一次以上,那么下面应该工作:
SELECT Sum(T.Value) FROM
(
SELECT DISTINCT M.Id, M.Value FROM MyTable AS M
)AS T
但是,如果该值可以不同的Id是相同的记录,那么你将不得不采取不同的方式。在下面的例子中我只是拉顶值:
SELECT Sum(T.Value) FROM
(
SELECT DISTINCT M.Id,
(
SELECT TOP(1) MV.Value
FROM MyTable AS MV
WHERE MV.Id = M.Id
ORDER By MV.Value DESC
) AS Value
FROM MyTable AS M
)AS T
select sum(int)
from mytab t where not exists
(select * from mytab
where id = t.id
group by id
having count(*) > 1)
不清楚你在问什么。如果你没有完成所有'Value''''''',我们可能有更多的机会计算出你需要的东西。 [此示例数据](http://pastebin.com/eh9yFpAC)的理想结果是什么?为什么? –
你的结果没有意义。数据中的ID都不是唯一的。如果你的意思是你只想从其中一个中求出int值,当存在多个int值时,你如何决定选择哪一个?每个可能在int列中都有不同的值。 –
道歉,只是为了澄清; id不是唯一的,但是与它们相关的值总是相同的,所以你可以通过区分假设你不冒险删除一些数据的id,例如,所有id = 1的值都将为value = 2。它总是会减少到1 = 2,2 = 2,3 = 2 – Fearghal