如何识别特定偶数之前的出现次数
Posted
技术标签:
【中文标题】如何识别特定偶数之前的出现次数【英文标题】:How to identify number of occurrences before specific even 【发布时间】:2020-06-18 13:58:16 【问题描述】:我有一个重复客户的数据集,他们一次购买一种产品,并且想知道他们购买了多少次,直到他们购买了特定的商品。我有客户 ID、访问时间戳和购买。
【问题讨论】:
请提供样本数据和期望的结果。 ***.com/help/how-to-ask 【参考方案1】:如果我理解正确,您可以使用窗口函数和聚合:
select customer_id, product_ts, count(*) as num_products_before
from (select t.*,
min(case when product = :product then timestamp end) over (partition by customerid) as product_ts
from t
) t
where timestamp < product_ts
group by customer_id, product_ts;
【讨论】:
以上是关于如何识别特定偶数之前的出现次数的主要内容,如果未能解决你的问题,请参考以下文章
CF703D Mishka and Interesting sum(求区间出现次数偶数次数的异或和)
树状数组区间出现偶数次数的异或和(区间不同数的异或和)@ codeforce 703 D
codeforces 703D Mishka and Interesting sum 偶数亦或 离线+前缀树状数组