SQL Recherche par ID
Résolu
johann74270
-
jee pee Messages postés 42386 Statut Modérateur -
jee pee Messages postés 42386 Statut Modérateur -
Bonjour,
J'ai 3 Tables :
JOIN_VIDEO_CATEGORY (ID, ID_VIDEO, ID_CATEGORY)
JOIN_VIDEO_CLICKED (ID, ID_VIDEO, CLICKED)
VIDEO (ID, TITRE)
Je souhaite en une requête obtenir les vidéos de la catégorie N°94 dans l'ordre des vidéos les plus cliquées.
Une idée ?
Merci
J'ai 3 Tables :
JOIN_VIDEO_CATEGORY (ID, ID_VIDEO, ID_CATEGORY)
JOIN_VIDEO_CLICKED (ID, ID_VIDEO, CLICKED)
VIDEO (ID, TITRE)
Je souhaite en une requête obtenir les vidéos de la catégorie N°94 dans l'ordre des vidéos les plus cliquées.
Une idée ?
Merci
3 réponses
Bonjour,
En mysql, de façon plus native on utilisera les jointures (INNER JOIN). Mais je ne me suis pas habitué à cette syntaxe.
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
select titre, cliked from JOIN_VIDEO_CATEGORY, JOIN_VIDEO_CLICKED, VIDEO where JOIN_VIDEO_CATEGORY.ID_VIDEO=VIDEO.ID and JOIN_VIDEO_CLICKED.ID_VIDEO=VIDEO.ID and JOIN_VIDEO_CATEGORY.ID_CATEGORY='94' order by cliked desc
En mysql, de façon plus native on utilisera les jointures (INNER JOIN). Mais je ne me suis pas habitué à cette syntaxe.
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
jee pee
Messages postés
42386
Statut
Modérateur
9 739
Aller un essai avec les jointures, ainsi je pourrais avoir des corrections sur la syntaxe si je commets des erreurs ;-)
Re
J'ai trouvé une solution qui correspond à mes besoins
SELECT * FROM VIDEO WHERE ID IN ( SELECT * FROM ( SELECT ID_VIDEO FROM JOIN_VIDEO_CLICKED WHERE ID_VIDEO IN ( SELECT ID_VIDEO FROM JOIN_VIDEO_CATEGORY WHERE ID_CATEGORY = 94 )ORDER BY CLICKED DESC) AS TEMP) LIMIT 1 Résolu
J'ai trouvé une solution qui correspond à mes besoins