SQL - совокупный столбец на основе фильтров - PullRequest
0 голосов
/ 10 марта 2020

Мои данные имеют поле идентификатора, даты и points_earned. Каждая строка представляет баллы, полученные по идентификатору за эту дату.

Я хочу создать что-то похожее на это:

ID | Points_Earned_January | Очки_Заработано в феврале | Points_Earned_March

Результат должен быть GROUP BY ID. Points_Earned_January должен дать SUM всех очков, заработанных в январе, для этого идентификатора.

Как я могу это сделать?

1 Ответ

0 голосов
/ 10 марта 2020

Вы можете использовать условное агрегирование:

select id,
       (case when date >= '2020-02-01' and date < '2020-03-01' then points else 0 end) as points_feb,
       (case when date >= '2020-03-01' and date < '2020-04-01' then points else 0 end) as points_mar
from t
group by id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...