You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL查询中将重复值计为单个值进行求和

解决SQL中重复值仅计一次的求和问题

要实现对value1列求和时,同一Items对应的重复值只计算一次,核心思路是先提取每个Items对应的唯一value1,再对这些唯一值求和。以下是两种常用的实现方式:

方法一:先去重再求和(推荐,适配多场景)

先通过子查询获取所有Items与value1的唯一组合,再对value1求和。这种方式即使不同Items有相同的value1,也会各自计入总和,更贴合多数业务场景:

SELECT SUM(value1) AS total_value1
FROM (
    SELECT DISTINCT Items, value1
    FROM your_table
) AS distinct_item_values;

替换your_table为你的实际表名即可。在你的示例数据中,子查询会返回3条唯一记录:(First,50)、(Second,20)、(Third,30),求和结果正好是100。

方法二:直接对去重后的value1求和

如果你的业务需求是所有重复的value1无论所属Items都只算一次,可以直接使用SUM(DISTINCT):

SELECT SUM(DISTINCT value1) AS total_value1
FROM your_table;

注意:这种方式下,如果有两个不同Items的value1相同(比如新增Fourth项,value1也是50),则50只会被计算一次,总和会变成50+20+30=100,而不是50+20+30+50=150。根据你的实际业务需求选择即可。

内容的提问来源于stack exchange,提问作者Hadi Mirdamadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:06:29