【发布时间】:2022-01-10 20:57:59
【问题描述】:
我有这样的表:
customer_id date order_id
12 1/11/2021 2
12 22/11/2021 3
12 31/11/2021 5
42 1/11/2021 2
42 15/11/2021 2
42 31/11/2021 2
43 22/11/2021 1
43 25/11/2021 2
也门我想只选择他们第一次和最后一次购买之间有 30 天的customer_id,然后与产品表进行联接,这意味着:
customer_id date order_id Product_name
12 1/11/2021 2 apple
12 22/11/2021 3 car
12 31/11/2021 5 orange
42 1/11/2021 2 apple
42 15/11/2021 2 apple
42 31/11/2021 2 apple
例如:
select customer_id, date, order_id, product_name
left join product on order_id = product_id
where customer_id.max(date) - customer_id.min(date) = 30
【问题讨论】:
-
31/11/2021是几号? -
显示的所有数据均介于 30 天内每位客户的首次购买和最后一次购买之间。你能扩展你的样本数据集来理解这一点吗?
-
我已经扩展了我的例子,如果你注意第二个表,只有客户ID,即第一次购买和最后一次购买之间的30天。
-
日期 31/11/2021 只是示例
-
@AminJebeli 11 月没有 31 天 - 这就是评论的重点。
标签: sql sql-server date datetime