SQL Basket Analysis分组查询

时间:2018-11-08 16:02:48

标签: sql oracle

我正在尝试建立一个查询,以根据产品的类型分组对产品进行篮子分析。除了产品ID外,他们还有两个分组级别。

Dept level 
1  
2   
3
4

和购买组级别

MA  
M
MC
WA
W
WC
KA
KC
K

层次结构是

  • 1> W,WC
  • 2> M,MC
  • 3> K,KC
  • 4> MA,KA,WA

现在我有查询

Select 
 i.buying_group,
 Sum(d.sales),
 Sum(d.units),
 count(distinct d.trans_nbr) transaction_count
From 
 sales_details d, item_data i, (select trans_nbr from sales_details where item_dept = 1 group by trans_nbr) main_group
Where 
 d.trans_nbr = main_group.trans_nbr
 d.item_nbr = i.item_nbr
 group by i.buying_group;

现在,我获得了大多数购买群体所需的数据,但是由于它是在部门级别运行的,因此无法为我提供W和WC的正确购物篮信息。有没有办法在部门级别执行此操作,以显示客户是否从这两个组中的任何一个购买了商品,而又将另一个放在了他们的购物篮中而没有重复计算呢?

目前的结果是这样

buyyin_group    Sum(sales)    Sum(units)   transaction_count
MA               100            5               4
M                 75            3               3
MC                56            1               1
WA                48            3               2
W                250            6               6
WC               200            9               9
KA               164            7               5
KC               400           12               7
K                521           14              12                  ` 

0 个答案:

没有答案