我有一个临时表,我试图对数据进行求和,但似乎无法获得正确的逻辑。该表包含客户级数据,现在我尝试按会计年度,季度和产品说明进行汇总。我试图通过回溯1年并使用相同的季度来计算出售的单位数量。
我可以在excel中执行此操作,但表格太大了。这就是Excel中的公式:
=SUMIFS(Units,FiscalYearQuarter >= Concat(FiscalYear -1 & FiscalQuarter, FiscalYearQuarter <= Concat(FiscalYear, FiscalQuarter)
这是表格的一个例子:
这里的结果应该是什么样的(这不包括产品描述,但我想在其中添加):
每当我尝试分组或做一个Sum(Case When ...)时,我只会按财政年度/季度而不是一年的历史总和得到结果。
答案 0 :(得分:0)
一个简单的GROUP BY
会起作用(虽然我不太了解带连接的Excel逻辑):
SELECT t1.FiscalYear, t1.FiscalQuater, sum(t2.UnitsPurchased)
FROM `table` t1
LEFT JOIN `table` t2
ON ( t1.FiscalYear = t2.FiscalYear + 1
AND t1.FiscalQuater < t2.FiscalQuater)
OR ( t1.FiscalYear = t2.FiscalYear
AND t1.FiscalQuater >= t2.FiscalQuater)
GROUP BY t1.FiscalYear, t1.FiscalQuater
编辑1 基于作者反馈的修改查询