Problème pour faire ces différentes requêtes
SILUE
-
Skratus Messages postés 13 Statut Membre -
Skratus Messages postés 13 Statut Membre -
Bonjour,
J'ai une bases de données avec les deux (2) tables suivantes: Ratings et Movies.
Ratings avec les colonnes :
userid de type integer,
movieid de type integer,
rating de type double,
time de type bigint
Movies avec les colonnes:
id de type integer,
title de type text,
genre de type text.
Maintenant je souhaiterais mener les requêtes suivantes sur ces bases:
Réquête 1: je veux générer une liste d'identifiants de films ( movieid) : les identifiants des films (movieid) présentes dans la table Ratings les classements du tableau mais pas dans la table Movies.
Requête 2: La requête doit générer une liste de titres de films ( title) correspondant aux 10 films avec la moyenne des notes ( avg (rating) la plus élevée.
Requête 3: La requête doit générer une liste de titres de films ( Title) correspondant aux 20 films avec la moyenne des notes la plus élevée avec les 10 meilleurs.
Requêts 4: La requête doit générer une liste de titres de films (title) correspondant aux 10 films avec la note la plus élevée, la note ( rating) étant calculée comme la somme des notes divisée par le nombre de notes plus un.
NB: Je suis un nouveau en SQL. Donc j'ai vraiment besoin de vos aides.
Cordialement.
J'ai une bases de données avec les deux (2) tables suivantes: Ratings et Movies.
Ratings avec les colonnes :
userid de type integer,
movieid de type integer,
rating de type double,
time de type bigint
Movies avec les colonnes:
id de type integer,
title de type text,
genre de type text.
Maintenant je souhaiterais mener les requêtes suivantes sur ces bases:
Réquête 1: je veux générer une liste d'identifiants de films ( movieid) : les identifiants des films (movieid) présentes dans la table Ratings les classements du tableau mais pas dans la table Movies.
Requête 2: La requête doit générer une liste de titres de films ( title) correspondant aux 10 films avec la moyenne des notes ( avg (rating) la plus élevée.
Requête 3: La requête doit générer une liste de titres de films ( Title) correspondant aux 20 films avec la moyenne des notes la plus élevée avec les 10 meilleurs.
Requêts 4: La requête doit générer une liste de titres de films (title) correspondant aux 10 films avec la note la plus élevée, la note ( rating) étant calculée comme la somme des notes divisée par le nombre de notes plus un.
NB: Je suis un nouveau en SQL. Donc j'ai vraiment besoin de vos aides.
Cordialement.
Configuration: Windows / Chrome 90.0.4430.85
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
-
Bonjour,
Quelques pistes:
Req1: Selection sur ratings where id_movie NOT IN (selection sur movies)
Req2: Utilisation du having! + Select TOP 10 + order by rating
Req3: Idem 2 sauf du 10 on met 20
Req4: Sum(rating)/count(rating) + req 2
Petits exercices d'école! c'est hyper simple!
Bon courage