1

我有 1 张桌子:

 id | year |  quarter  |  month | brand  | sku | total_unit_sales 
 -----------------------------------------------------------------
 1  | 2010 |  1        |  Jan   | Toyota | 123 | 156 
 2  | 2010 |  1        |  Jan   | Toyota | 124 | 77
 3  | 2010 |  1        |  Jan   | Toyota | 125 | 325
 4  | 2010 |  1        |  Feb   | Toyota | 123 | 184 
 5  | 2010 |  1        |  Feb   | Toyota | 124 | 98
 6  | 2010 |  1        |  Feb   | Toyota | 125 | 219 
 7  | 2010 |  1        |  Mar   | Toyota | 123 | 178 
 8  | 2010 |  1        |  Mar   | Toyota | 124 | 101
 9  | 2010 |  1        |  Mar   | Toyota | 125 | 215 
 10 | 2010 |  1        |  Apr   | Toyota | 123 | 216 
 11 | 2010 |  1        |  Apr   | Toyota | 124 | 115
 12 | 2010 |  1        |  Apr   | Toyota | 125 | 278 

我需要按品牌、月份、年份创建销售增量指数(一个时期与另一个时期的变化百分比)。这些指数是过去 12 个月的平均变化、当前季度、上个月与上个月的变化。

我曾经以多阶段的方式实现了这一点,创建了许多汇总表,然后生成所需的报告。然而,这是一个手动定制的过程。现在我需要一种完全自动化的方式来更新数据源并生成报告。

我一直在研究自我加入,但结果不太理想,考虑到可以通过自我加入表格来比较以前的价格和最新的价格:

left join on a.id=b.id+1

这很容易出错,因为有些月份没有收集某些特定 sku 的销售数据,而不是当月销售的。

我感谢您的帮助。提前致谢。mysql 版本 5.5+

4

1 回答 1

0

您的加入方法听起来像是一种有效的方法。outer join您可以通过使用, 和 IFNULL() 来生成合理的值来提高图形的质量。

于 2014-04-11T21:59:03.623 回答