如何在MySQL中对两行数据进行求和与相乘计算总价
解决方法:计算相同编码产品的总价格
嘿,这个需求用SQL的聚合函数就能轻松实现,我给你两种常用的写法,适配不同的场景:
场景1:计算所有行的总价格(单CODE或多CODE统一求和)
直接对每一行的QTY和Price计算乘积,再用SUM()函数求和:
SELECT SUM(QTY * Price) AS TotalPrice FROM your_table_name;
- 说明:
QTY * Price会先算出每一行的单个产品总价,SUM()把这些值全部累加起来,AS TotalPrice是给结果列起一个直观的别名,你只要把your_table_name换成你实际的数据库表名就行。
场景2:按CODE分组,分别计算每个编码的总价格
如果你的表中有多个不同的CODE,需要单独统计每个编码的总价格,就用GROUP BY分组:
SELECT CODE, SUM(QTY * Price) AS TotalPrice FROM your_table_name GROUP BY CODE;
- 说明:
GROUP BY CODE会把相同CODE的行归为一组,然后对每组计算总价的总和,这样你就能得到每个编码对应的总金额,比如你示例中的CODE就会返回2016.57。
可选:保留两位小数
如果需要确保结果精确到两位小数(和你示例的结果格式一致),可以用ROUND()函数:
SELECT CODE, ROUND(SUM(QTY * Price), 2) AS TotalPrice FROM your_table_name GROUP BY CODE;
内容的提问来源于stack exchange,提问作者Henry James H.
相关产品推荐
相关产品推荐

