我有以下格式的数据:
date fruit
======================
1-jan-14 orange
3-jan-14 orange
1-may-14 orange
2-may-14 apple
3-may-14 apple
1-aug-14 pineapple
2-aug-14 apple
我想添加一个表示:过去 6 个月内购买最多的水果的列。所以,对于上面的例子:
date fruit most_purchased_6_months
=======================================
1-jan-14 orange orange
3-jan-14 orange orange
1-may-14 orange orange
2-may-14 apple orange
3-may-14 apple orange
1-aug-14 pineapple apple
2-aug-14 apple apple
我尝试过使用分析函数,但我所达到的最好的结果是显示过去 6 个月内使用“count(*) over (按日期范围按水果顺序分区 180) 购买相同水果(来自同一行)的次数前)”。
我的主要问题是使用自联接可以轻松解决我的问题,但由于这是一个包含大约 2000 万行数据的表,因此在我们的数据库上运行需要几个小时。将不胜感激任何方向和/或帮助!