我有一张桌子:
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 ver 5.5 +
答案 0 :(得分:0)
您的加入方式听起来像是一种有效的方法。您可以使用outer join
和IFNULL()来提高数字的质量,以生成合理的值。