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'))