识别购买模式SQL

问题描述 投票:0回答:1

我希望找出从我的商店购买了一系列产品并保存其详细信息以进行进一步分析的成员。

我有兴趣确定购买苹果AND的成员是否[购买梨,橙子,葡萄或甜瓜。

我的交易数据如下:

za

根据上面的数据,成员1在此之前购买了苹果(4/4/2020),但没有购买一种或多种主要产品(豌豆,橙子,葡萄或甜瓜)。但是,成员2也购买了苹果,但在此之前,他们还购买了梨(02/22/2020),因此它们是感兴趣的成员。

理想情况下,输出将是MBR_ID的列,如果条件匹配则为y的标题为interest_y_n的列,如果条件不匹配则为no。

我真的很感激如何解决这个问题的任何方向。

如果有帮助,我正在使用Netezza作为数据库平台。

sql pattern-matching netezza
1个回答
0
投票
嗯。 。 。这听起来像聚合:

select mbr_id, (case when sum(case when product = 'apples' then purchase_date) > sum(case when product in ('pears', 'oranges', 'grapes', 'melon') then 1 else 0 end) as is_member_of_interest from transactions t group by mbr_id;

case中的条件汇总将“苹果”购买的最早日期与其他水果的早期日期进行了比较。仅当购买苹果之后才购买该值。
© www.soinside.com 2019 - 2024. All rights reserved.