Bigquery SQL 单个查询中的多个计数分组依据
Bigquery SQL Multiple Count group-by in single query
我有一个数据集,用户可以在其中执行多项操作,并且每个操作都有时间戳。
User
Action 1
Action 2
Action 3
1
5-2-2022
null
4-1-2022
2
4-2-2022
4-1-2022
4-1-2022
3
1-2-2022
null
null
我想按日期统计操作:
Date
Action 1
Action 2
Action 3
1-2-2022
1
0
0
4-1-2022
0
1
2
4-2-2022
1
0
0
5-2-2022
1
0
0
我正在努力弄清楚如何在 Bigquery SQL 中执行此操作,我什至不确定要 google 的哪些词。有什么想法吗?
提前致谢!
考虑以下方法
select * from (
select * from your_table
unpivot (date for col in (action1, action2, action3))
)
pivot (count(distinct user) for col in ('action1', 'action2', 'action3'))
我有一个数据集,用户可以在其中执行多项操作,并且每个操作都有时间戳。
User | Action 1 | Action 2 | Action 3 |
---|---|---|---|
1 | 5-2-2022 | null | 4-1-2022 |
2 | 4-2-2022 | 4-1-2022 | 4-1-2022 |
3 | 1-2-2022 | null | null |
我想按日期统计操作:
Date | Action 1 | Action 2 | Action 3 |
---|---|---|---|
1-2-2022 | 1 | 0 | 0 |
4-1-2022 | 0 | 1 | 2 |
4-2-2022 | 1 | 0 | 0 |
5-2-2022 | 1 | 0 | 0 |
我正在努力弄清楚如何在 Bigquery SQL 中执行此操作,我什至不确定要 google 的哪些词。有什么想法吗?
提前致谢!
考虑以下方法
select * from (
select * from your_table
unpivot (date for col in (action1, action2, action3))
)
pivot (count(distinct user) for col in ('action1', 'action2', 'action3'))