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

如何计算指定商品数量的订单金额?需将结果列命名为order_price

解决方案

要计算指定购买数量的订单总成本,你需要在求和时为每个商品匹配对应的购买数量并相乘,以下是两种可行的SQL写法:

方法一:使用CASE语句指定数量

这种方式适合商品数量较少的场景,直接在SUM函数内通过CASE判断商品名称并乘以对应购买量:

SELECT 
  SUM(
    CASE name
      WHEN 'snacks' THEN price * 3
      WHEN 'chips' THEN price * 2
      WHEN 'energy drink' THEN price * 1
      ELSE 0
    END
  ) AS order_price
FROM products
WHERE name IN ('snacks', 'chips', 'energy drink');

WHERE子句用于过滤出订单涉及的商品,避免计算无关数据,确保结果准确。

方法二:关联订单数量表(更易维护)

如果后续需要频繁调整订单商品或数量,推荐用JOIN关联一个包含商品名称和对应数量的临时数据集,逻辑更清晰:

SELECT 
  SUM(p.price * o.quantity) AS order_price
FROM products p
JOIN (
  VALUES
    ('snacks', 3),
    ('chips', 2),
    ('energy drink', 1)
) o(name, quantity) ON p.name = o.name;

这种写法把订单的商品清单和数量单独放在子查询中,修改时只需调整子查询内的内容,无需改动主查询逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:09:24