您确定您的 SQL 查询措辞正确吗?对于第一个 sql 查询,尝试"SELECT customer_id, order_amount, order_date FROM buyer_before_20161222 WHERE (order_amount <=0) AND (order_date BETWEEN 2016122 AND 20170222)" 看看是否有效。
如果您只希望customer_id 用于描述的休眠和转换的买家组,请尝试使用dplyr 编写的以下代码:
201612222之前买过东西的顾客:
buyer_before_2016122 <- order_table %>%
filter(order_amount>=1, order_date < 20161222) %>%
select(customer_id)
在 20161222 和 20170222 之间没有购买任何东西的客户,过滤出在 20161222 之前购买过东西的客户,也就是休眠买家:
buyer_dormant <- order_table %>%
filter(between(order_date, 20161222, 20170222), order_amount <= 0,
customer_id %in% buyer_before_2016122$customer_id )
在 20170222 和 20170522 之间购买的客户,过滤掉休眠买家,也就是转换的买家:
buyer_converted <- order_table %>%
filter(between(order_date, 20170222, 20170522), order_amount >= 1,
customer_id %in% buyer_dormant$customer_id )
希望有帮助!