SQL les plus récents en utilisant la fonction row_number() over partition
Je travaille avec quelques clics web de données, et je suis juste à la recherche de la plus récente nom_page avec le user_id visité (par un timestamp). En utilisant le code ci-dessous, le user_id est répété et nom_page avec indiqué, triés par ordre décroissant. Cependant, je voudrais juste recent_click toujours = 1. La requête lors de l'complet sera utilisé comme une sous-requête dans un plus grand requête.
Voici mon code actuel:
SELECT user_id,
page_name,
row_number() over(partition by session_id order by ts desc) as recent_click
from clicks_data;
user_id | page_name | recent_click
--------+-------------+--------------
0001 | login | 1
0001 | login | 2
0002 | home | 1
- S'il vous plaît montrer les données de l'échantillon @Kraut
- Vous pouvez déplacer votre requête dans une sous-requête et ajouter
where recent_clicks = 1
. - qui ont travaillé. merci!!!!
Vous devez vous connecter pour publier un commentaire.
Vous devriez être en mesure de déplacer votre requête à un sous-requête et ajouter
where
critères:Vous devez déplacer le
row_number()
fonction dans une sous-requête et puis on le filtre dans la requête externe.Quelque chose comme ceci: