Mysql sql查询到相同id但不同值的总和?

Mysql sql查询到相同id但不同值的总和?,mysql,sql,Mysql,Sql,sql查询到相同id但不同值之和??。。。。 我正在尝试计算相同id的和…下面是我的表 id barter_value 2 50,000 2 1,50,000 3 47,000 3 55,000 3 50,00,000 我想要像这样的输出 id barter_value 2 2,00,000 3 51,00,2000 select

sql查询到相同id但不同值之和??。。。。 我正在尝试计算相同id的和…下面是我的表

id        barter_value
2           50,000
2           1,50,000
3           47,000
3           55,000
3           50,00,000
我想要像这样的输出

id       barter_value
2          2,00,000
3          51,00,2000


select a.buyer_id, 
       a.prod_barter_val 
       from add_to_cart as a
       join(select buyer_id, 
            sum(prod_barter_val) as total 
            from add_to_cart group by buyer_id) as b 
            on a.buyer_id = b.buyer_id;
你可以这样做:


按买家id从添加到购物车组中选择买家id,sum(prod\u barter\u val)
您就快到了,只需更改sql语句(
b.total
):

它的作用是: 从表中选择所有ID和易货值。然后,GROUP BY生效,所有相等的ID都合并到一行中


如果没有求和,则在易货价值列中只会有一个随机值,但使用求和,它会将ID的所有行(分别)相加,并将其放入总计列。

什么是值1,50000?为什么这里需要联接和隐式表?事实上不是这样。我已将其删除。此更新的解决方案也有问题。如果没有GROUP BY,SUM等聚合函数将无法工作。请选择buyer_id,SUM(prod_barter_val)作为根据buyer_id添加到购物车组的合计;它给出了错误的结果。Id 2给出了51,Id 3给出了51152@S.Patil有趣。这些是您问题中DB的原始值(数字)吗?我觉得你的数字分组有点不对。它是50+1和55+50+47。。。你的易货格式是什么?什么是“,”?为什么不将其存储为int 50000,150000?SUM可以使用有效的数字,如果您将其存储为int/FLOAT,则此代码将非常有效。
select buyer_id, 
   sum(prod_barter_val) as total 
   from add_to_cart
   group by buyer_id
SELECT id, SUM(barter_value) as 'total' FROM table GROUP BY id