【发布时间】:2021-08-26 21:07:21
【问题描述】:
我有一个包含用户名、市场和purchase_id 的表。我正在尝试在没有子查询的情况下在 SnowSql 中使用窗口函数来计算用户购买的不同购买次数以及市场上唯一购买的总数。
初始表
| User | Market | Purchase_ID |
|---|---|---|
| John Smith | NYC | 1 |
| John Smith | NYC | 2 |
| Bob Miller | NYC | 2 |
| Bob Miller | NYC | 4 |
| Tim Wilson | NYC | 3 |
想要的结果如下所示:
| User | Purchases | Unique Market Purchases |
|---|---|---|
| John Smith | 2 | 4 |
| Bob Miller | 2 | 4 |
| Tim Wilson | 1 | 4 |
我一直在尝试的不带子查询的查询如下所示,但 groupby 收到错误。
SELECT
user,
COUNT(DISTINCT purchase_id),
COUNT(DISTINCT purchase_id) OVER (partition by market)
FROM table
GROUP BY 1
感谢您对此提供的任何帮助。谢谢!
【问题讨论】:
-
你为什么不
group by user,而不是1? -
@JaimeDrq 相同的 1 代表第一列
标签: sql snowflake-cloud-data-platform window-functions