如何";转置;在SQL中将数据写入列中?

如何";转置;在SQL中将数据写入列中?,sql,pivot,presto,Sql,Pivot,Presto,我有一个带有(id、名称、创建\u时间戳) 我想写一个查询,给出: 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

我有一个带有
(id、名称、创建\u时间戳)

我想写一个查询,给出:

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列,日期列在第2列。 如何将其转换为所需的输出

假设我的桌子有

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
与问题相似,但没有得到任何答案


我使用的是Presto,但是原生SQL解决方案很棒

我把你的标题放进了谷歌,不出所料,有很多关于这个主题的文章。首先,请检查:@Jeremy在presto和not with date列中没有。所有示例都是针对静态列的。@Jeremy在链接中注意到日期仅为1列。其他维度是硬编码的。你的例子就是我要问的最简单的例子。你不能用它来得到我想要的。。你需要一个完全不同的方法。因此出现了堆栈溢出的问题。stackoverflow中只有1个类似的解决方案,但这非常特定于MS SQL。presto或标准SQL没有对应的版本