问题详细:当下对历史商品进行分析,统计出来历史的前几天平均成交量,例如存在三天历史数据,昨天成交10,前天成交20,大前天成交30,则展示效果为前一天平均成交量10,前两天平均成交量15,前三天平均成交量20。
当下我的处理方式:
源表采用自关联处理了一下,用天数小于等于当天天数和商品主键作为条件,自关联出6条记录,然后用开窗统计平均值会统计六次(每条记录均会统计,有三次是重复统计的),重复的三次是性能损耗。
注意:
1、举例为三条数据,实际当数据拓展到千万级时,重复统计对性能影响会极大
2、除了平均成交量外,还需要展示当天价格字段,若是group by来分组的话,价格是无法展示出来的,除非是再一步关联查询,性能堪忧
预期:除了group by分组外,开窗函数中是否能够实现防止重复统计
问题瓶颈点:开窗函数,能否控制同分组(查询窗口)内仅执行一次聚合查询,而非组内的每条记录执行一次聚合查询
https://jingyan.baidu.com/article/d8072ac48d2730ec94cefd43.html