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

PostgreSQL中用CASE运算区分eBike电池规格生成销售报表

区分eBike电池规格的PostgreSQL报表解决方案

我明白你的需求了——要从产品名称里识别基础款(4.4Ah)和升级款(7Ah),用CASE语句结合数学运算生成清晰的销售报表对吧?这就给你一步步拆解解决方案:

第一步:标记每笔订单的电池规格

首先,我们可以通过匹配产品名称里的特征字符串来区分两种电池。你的升级款产品名称会包含Upgrade 7Ah,基础款则包含4,4Ah(注意是逗号分隔)。用CASE语句就能轻松给每一行订单打上规格标签:

SELECT
  id,
  orderNumber,
  date,
  articleID,
  clientID,
  quantity,
  value,
  -- 核心逻辑:识别电池规格
  CASE
    -- 优先匹配升级款,避免基础款名称出现误判
    WHEN articleID LIKE '%Upgrade 7Ah%' THEN '7Ah 升级款'
    WHEN articleID LIKE '%4,4Ah%' THEN '4.4Ah 基础款'
    ELSE '未知规格'
  END AS battery_spec
FROM your_sales_table;

如果你的产品名称格式有波动(比如空格数量不同、大小写不一致),可以用PostgreSQL的正则表达式匹配更灵活:

CASE
  WHEN articleID ~* 'Upgrade\s+7Ah' THEN '7Ah 升级款' -- ~* 表示不区分大小写匹配
  WHEN articleID ~* '4,4Ah' THEN '4.4Ah 基础款'
  ELSE '未知规格'
END AS battery_spec

第二步:结合数学运算生成统计报表

现在我们可以基于识别出的规格,做各种销售数据运算,比如总销量、总收入、平均单价,甚至单独计算升级款带来的额外收益:

基础销售统计报表

SELECT
  CASE
    WHEN articleID LIKE '%Upgrade 7Ah%' THEN '7Ah 升级款'
    WHEN articleID LIKE '%4,4Ah%' THEN '4.4Ah 基础款'
    ELSE '未知规格'
  END AS battery_spec,
  SUM(quantity) AS 总销量,
  SUM(value * quantity) AS 总收入, -- 数学运算:单价 × 数量 = 单订单金额,再求和
  ROUND(AVG(value), 2) AS 平均单价 -- 保留两位小数让数据更直观
FROM your_sales_table
GROUP BY battery_spec
ORDER BY 总收入 DESC;

计算升级款的额外贡献

如果想单独统计升级款比基础款多带来的收入,可以用CTE(公共表达式)结合CASE和窗口函数实现:

WITH sales_with_spec AS (
  SELECT
    *,
    CASE
      WHEN articleID LIKE '%Upgrade 7Ah%' THEN '7Ah 升级款'
      WHEN articleID LIKE '%4,4Ah%' THEN '4.4Ah 基础款'
      ELSE '未知规格'
    END AS battery_spec
  FROM your_sales_table
)
SELECT
  battery_spec,
  SUM(quantity) AS 总销量,
  SUM(value * quantity) AS 总收入,
  -- 计算升级款相对基础款的额外收入
  CASE
    WHEN battery_spec = '7Ah 升级款' THEN
      SUM(value * quantity) - SUM(CASE WHEN battery_spec = '4.4Ah 基础款' THEN value * quantity ELSE 0 END)
    ELSE 0
  END AS 升级款额外收入
FROM sales_with_spec
GROUP BY battery_spec;

小提醒

  • 确保产品名称的格式稳定,如果后续新增电池规格,记得同步更新CASE语句的匹配条件
  • 如果articleID存储的是产品ID而非完整名称,你需要关联产品表获取名称后再做匹配(比如JOIN products ON your_sales_table.articleID = products.id)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:00:39