J'essaie de trouver le nombre distinct d'utilisateurs américains ayant effectué une action spécifique (n'importe quelle ligne dans p.action) dans une fenêtre de 14 jours , au cours des deux derniers mois.Comment supprimer la sous-requête corrélée dans ma sous-sélection (en raison de la limitation presto)
Voici la requête. J'aimerais avoir quelques conseils sur la façon dont je peux réécrire cela pour ne pas utiliser une sous-requête corrélée, car Presto ne les autorise pas.
SELECT dt,
(SELECT COUNT(DISTINCT user_id)
FROM p.action
WHERE dt BETWEEN q.dt - 13 AND q.dt -- period of 14 days
AND country = 'US'
) AS 14d_rolling_users
FROM p.action q
WHERE dt BETWEEN '2016-08-24' AND '2016-10-24'
GROUP BY dt
ORDER BY dt ASC
Je suis creusé la tête à essayer de comprendre comment je pouvais accomplir cela sans courir juste 60 requêtes individuelles (un pour chaque jour).
Toute aide appréciée, merci!