【发布时间】:2022-02-14 19:25:52
【问题描述】:
我们正在尝试进行查询,以获取特定年份月份的唯一身份客户总数 + 特定日期前 364 天的唯一身份客户总数。
例如:
我们的客户表如下所示:
| order_date | customer_unique_id |
| -------- | -------------- |
| 2020-01-01 | tom@email.com |
| 2020-01-01 | daisy@email.com |
| 2019-05-02 | tom@email.com |
在此示例中,我们有两位客户在 2020 年 1 月 1 日订购,其中一位已在 364 天的时间范围内订购。
所需的表格应如下所示:
| year_month | unique_customers |
| -------- | -------------- |
| 2020-01 | 2 |
我们尝试了多种解决方案,例如分区和窗口,但似乎都无法正常工作。棘手的部分是独特性。我们想要 364 天前的外观,但想要基于整个期间而不是基于日期/年/月对客户进行不同的计数,因为那样我们会得到重复。例如,如果您按日期、年份或月份进行分区,tom@email.com 将被计算两次而不是一次。
此查询的目标是深入了解 12 个月内的订单频率(订单除以客户)。
我们使用 Google BigQuery。
希望有人可以帮助我们! :)
【问题讨论】:
标签: sql google-bigquery