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

如何合并OrderDetails表中重复Product字段的百分比总和?

解决方案:合并相同产品的金额百分比计算

要实现将相同Product名称的行的百分比合并为一个数值,核心是先按产品分组计算总金额,再基于全局总金额计算占比,具体SQL如下:

SELECT 
    MIN(ID) AS ID,
    Product,
    ROUND(SUM(Amount) * 100 / (SELECT SUM(Amount) FROM OrderDetails), 0) AS Percentage
FROM OrderDetails
GROUP BY Product
ORDER BY ID;

关键逻辑说明:

  • GROUP BY Product:将相同产品的记录合并为一组,确保每个产品只返回一行结果
  • SUM(Amount):计算每个产品的累计金额,替代原查询中单行的金额值
  • (SELECT SUM(Amount) FROM OrderDetails):获取所有订单的总金额,作为百分比计算的分母
  • MIN(ID):取每个产品组中的最小ID,匹配你期望输出中的ID格式;如果不需要ID列,可直接删除该字段
  • ROUND(..., 0):将百分比结果取整,和你期望的整数输出一致

验证结果:

执行后会得到与你期望一致的输出:

IDProductPercentage
1Banana50
2Pawpaw50

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 17:07:42