我正在尝试计算客户第 1 次和第 3 次购买之间的平均天数,但很难以一种允许我计算的方式订购数据。
我目前有以下数据表。(注:订单序号是指该客户的订单号。)
| 订购日期 | 顾客号码 | 订单序号 |
|---|---|---|
| 2020-09-20 | 1 | 1 |
| 2021-01-20 | 1 | 2 |
| 2021-01-21 | 1 | 3 |
| 2020-10-01 | 2 | 1 |
| 2020-08-06 | 3 | 1 |
| 2020-09-06 | 3 | 2 |
| 2020-09-09 | 3 | 3 |
我一直试图让数据看起来像下表。[然后能够计算最后两列的 datediff。]
| 顾客号码 | 订单数 | 首次订购日期 | 第三次订购日期 |
|---|---|---|---|
| 1 | 3 | 2020-09-20 | 2021-01-21 |
| 2 | 1 | 2020-10-01 | 无效的 |
| 3 | 3 | 2020-08-06 | 2020-09-09 |
我已经完全搞砸了代码,但这就是我一直在尝试的。
CREATE TABLE X2 as
SELECT
customer_number,
max(order_sequence_number) as order_count,
CASE
WHEN order_sequence_number = 1 then order_date
ELSE null
END as first_order_date,
CASE
WHEN order_sequence_number = 3 then order_date
ELSE null
END as third_order_date
FROM X1
GROUP BY customer_number;
有人可以告诉我我错过了什么吗?提前致谢!