Как «транспонировать» данные даты в столбцы в SQL? - PullRequest
0 голосов
/ 15 октября 2019

У меня есть таблица с (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 столбца, и датыперечислены во 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

Аналогично вопросу sql диапазон дат в столбце и подсчет по группам но ответа не последовало

Я использую Presto, но нативное SQL-решение прекрасно

...