diff --git a/src/feature_store/sales.sql b/src/feature_store/sales.sql index 7b71bc6..19b624c 100644 --- a/src/feature_store/sales.sql +++ b/src/feature_store/sales.sql @@ -14,15 +14,16 @@ WHERE idMedalha IN (1, 3) GROUP BY idJogador) SELECT a.idJogador, + CASE WHEN (b.idMedalha IN (1, 3) AND '{date}' < a.DtRemocao AND '{date}' > a.DtCriacao) THEN 1 ELSE 0 END AS flSubAtivo, sum(CASE WHEN b.idMedalha IN (1, 3) THEN 1 ELSE 0 END) AS qtdAssinaturas, sum(CASE WHEN b.idMedalha IN (1, 3) THEN 1 ELSE 0 END)/12 AS qtdAssinaturasMes, sum(CASE WHEN b.idMedalha NOT IN (1, 3) THEN 1 ELSE 0 END) AS qtdMedalhas, sum(CASE WHEN b.idMedalha NOT IN (1, 3) THEN 1 ELSE 0 END)/12 AS qtdMedalhasMes, - sum(CASE WHEN (b.idMedalha IN (1, 3) AND a.flAtiva=0) THEN 1 ELSE 0 END) AS qtdChurn, - sum(CASE WHEN (b.idMedalha IN (1, 3) AND a.flAtiva=0) THEN 1 ELSE 0 END)/12 AS qtdChurnMes, - DATEDIFF(current_date(), MIN(CASE WHEN b.idMedalha IN (1, 3) THEN dtCriacao END)) AS daysSinceFirstSub + sum(CASE WHEN (b.idMedalha IN (1, 3) AND '{date}' < a.DtRemocao) THEN 1 ELSE 0 END) AS qtdChurn, + sum(CASE WHEN (b.idMedalha IN (1, 3) AND '{date}' < a.DtRemocao) THEN 1 ELSE 0 END)/12 AS qtdChurnMes, + DATEDIFF('{date}', MIN(CASE WHEN b.idMedalha IN (1, 3) THEN dtCriacao END)) AS daysSinceFirstSub FROM tb_medalhas as a LEFT JOIN silver.gamersclub.medalhas as b INNER JOIN first_subscription as c ON a.idMedalha=b.idMedalha and a.idJogador=c.idJogador -GROUP BY a.idJogador \ No newline at end of file +GROUP BY 1, 2 \ No newline at end of file