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

如何实现按产品名称对price列进行差异化乘法运算?

按行差异化更新/计算价格的SQL实现

首先,你的数据表结构和数据如下:

customer_id(int) , product_name(varchar) , price(int)
          1                    LV                5
          2                    MK                15
          3                    YSL               16

根据需求,我们可以用CASE WHEN语句实现差异化乘法运算,分两种场景处理:

1. 仅查询计算后的结果(不修改原表数据)

如果只是想查看计算后的价格,不需要改动原表,用SELECT语句配合CASE逻辑即可:

SELECT
  customer_id,
  product_name,
  price,
  CASE product_name
    WHEN 'LV' THEN price * 10
    WHEN 'MK' THEN price * 10
    WHEN 'YSL' THEN price * 20
    ELSE price -- 处理未指定的产品,保留原价格
  END AS new_price
FROM your_table_name; -- 替换成你的实际表名

执行后返回的结果集示例:

customer_idproduct_namepricenew_price
1LV550
2MK15150
3YSL16320

2. 直接更新原表中的price字段

如果需要永久修改原表的价格数据,使用UPDATE语句:

UPDATE your_table_name -- 替换成你的实际表名
SET price = CASE product_name
    WHEN 'LV' THEN price * 10
    WHEN 'MK' THEN price * 10
    WHEN 'YSL' THEN price * 20
    ELSE price -- 其他产品价格不变
  END;

若只想更新指定的三种产品,可添加WHERE条件提升执行效率:

UPDATE your_table_name
SET price = CASE product_name
    WHEN 'LV' THEN price * 10
    WHEN 'MK' THEN price * 10
    WHEN 'YSL' THEN price * 20
    ELSE price
  END
WHERE product_name IN ('LV', 'MK', 'YSL');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 00:45:37