#amazon-redshift
Вопрос:
Давайте предположим, что у меня есть таблица с идентификатором пользователя, snapshot_date и usd_amount, и я хотел бы рассчитать mtd (с месяца по дату) и ytd (с года по дату) usd_amount на идентификатор пользователя. Мое решение выглядит так:
SELECT user_id, mtd.sum, ytd.sum FROM
(SELECT user_id, SUM(usd_amount) as sum WHERE snapshot_date >= date_trunc('month', current_date) group by user_id) mtd
INNER JOIN
(SELECT user_id, SUM(usd_amount) as sum WHERE snapshot_date >= date_trunc('year', current_date) group by user_id) ytd
Можно ли каким-то образом сократить это решение, чтобы оно было менее сложным, без использования двух подзапросов? В тех случаях, когда, к сожалению, без использования этого условия, подобные этому, не могут быть применены.