统计问题 假设有 A表 ,然后对A表中的字段 3 进行 sum计算
A表的主键是 字段1和字段2,假设有如下记录
字段1 字段2 字段3 字段4
1 1 100 a
1 1 100 a
2 1 200 b
2 1 200 b现在以 字段4进行group by,统计 字段3的总数 得出的结果是
字段4 sum
a 200
b 400
因为 存在主键重复的情况,所以我想要的结果是
字段4 sum
a 100
b 200
也就是 说对于主键相同的 记录,字段3只统计一次。如何实现这个sql语句。
A表的主键是 字段1和字段2,假设有如下记录
字段1 字段2 字段3 字段4
1 1 100 a
1 1 100 a
2 1 200 b
2 1 200 b现在以 字段4进行group by,统计 字段3的总数 得出的结果是
字段4 sum
a 200
b 400
因为 存在主键重复的情况,所以我想要的结果是
字段4 sum
a 100
b 200
也就是 说对于主键相同的 记录,字段3只统计一次。如何实现这个sql语句。
from
(select distinct * from a)
group by col4;
select col4,sum(col3) as [sum]
from
(select distinct * from a) as b
group by col4
select col4, sum(distinct col3) as [sum]
from a
group by col4