我有一个(id, name, creation_timestamp)
的桌子
我想写一个查询,给出:
name, 2019-09-15, 2019-09-16, ... , 2019-10-15
列日期为最近30天。
在每一列中,每个名称的记录数都与日期匹配。
我知道如何将其创建为行
select name
,cast ( creation_timestamp as DATE)
,count(1)
from my_bale
group by name, cast ( creation_timestamp as DATE)
但这给了我3列,而日期列在第二列中。 如何将其转换为所需的输出?
让我们说我的桌子有
id, name , creation_timestamp
1 A 2019-10-10 21:52:22.904
2 A 2019-10-10 22:52:22.904
3 B 2019-10-10 21:52:22.904
3 C 2019-10-11 21:52:22.904
输出应为:
name, 2019-09-15, 2019-09-16, ... , 2019-10-10, 2019-10-11, ..., 2019-10-15
A 0 0 2 0 0
B 0 0 1 0 0
C 0 0 0 1 0
类似于问题sql date range in column and count by group,但没有得到任何答案
我正在使用Presto,但是本机SQL解决方案很棒