You need to enable JavaScript to run this app. MySQL实现漏斗场景下汇总行与首行取自身计数的反向累积和查询
优惠活动
大模型
产品
解决方案
定价
更多

MySQL实现漏斗场景下汇总行与首行取自身计数的反向累积和查询

MySQL 业务阶段反向累积和计算调整需求

需求说明

  • 操作对象为descartados表,该表存储全量流失客户及其对应流失发生的业务阶段,配套已验证的测试区间插入数据
  • 表结构:stage(varchar(15)类型,记录流失对应的业务阶段)、date(datetime类型,记录流失事件发生时间)
  • 计算目标:按各业务阶段维度统计流失数据,输出反向累积和,且计算逻辑需跳过结果集最前方的两行。

现有查询语句

SELECT IF(GROUPING(descartados.stage), "Total", descartados.stage) AS Estagio, 
COUNT(*) as Contagem, 
SUM(COUNT(*)) OVER (ORDER by FIELD(Estagio, "Qualificados", "Agendados", "Filtro 2", "Filtro 1", 
"Entrada", "Total")) AS "Funil de Entrada"
FROM descartados
WHERE descartados.date BETWEEN '2021-01-01' AND '2021-01-31'
GROUP BY descartados.stage WITH ROLLUP
ORDER BY FIELD(Estagio, "Total", "Entrada", "Filtro 1", "Filtro 2", "Agendados", "Qualificados") 

现存问题

当前查询输出结果不符合预期:

  • Total 汇总行的Funil de Entrada值为56
  • Entrada 阶段行的Funil de Entrada值为28

预期计算规则

调整后的计算逻辑需要满足:

  • Total 汇总行的Funil de Entrada值等于自身Contagem列的统计值28
  • Entrada 阶段行的Funil de Entrada值等于自身Contagem列的统计值16
  • 从Filtro 1阶段开始,保留原有反向累积的计算逻辑,不再单独取自身计数值

此前已尝试引入LAG函数调整计算逻辑,未实现目标效果,需要可落地的实现方案。


内容的提问来源于stack exchange,提问作者Artur Lunardi Di Fante

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.07 01:45:04