我有一个 2 列的表,1 是一个 id,另一个是一个 int。
我如何对唯一 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。
我如何对唯一 ID 的整数求和?
Eg
Id Value
1 2
1 2
2 2
3 2
2 2
3 2
Result: 6 (2+2+2)
select sum(int)
from mytab t where not exists
(select * from mytab
where id = t.id
group by id
having count(*) > 1)
假设如果一个 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