Moyenne sql [Résolu]

Signaler
Messages postés
5
Date d'inscription
samedi 10 avril 2021
Statut
Membre
Dernière intervention
30 avril 2021
-
Messages postés
5
Date d'inscription
samedi 10 avril 2021
Statut
Membre
Dernière intervention
30 avril 2021
-
Bonjour,
Je dois faire une requête pour avoir le titre des films ou leur durée est supérieur à la durée moyenne de tous les film en vidéothèque.
Ma table est composée :
codefilm primary key
titre film
durée
J ‘ ai essayé de créer une vue pour avoir la moyenne... avg(durée)
Puis j aurais voulu faire une jointure avec la table film. Je voudrais savoir si c est la bonne méthode? Si oui comment faire la jointure entre ces deux tables?
Merci pour votre aide je suis débutant...
Bonne soirée






Configuration: iPhone / Safari 14.0.3

2 réponses

Messages postés
31746
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
30 avril 2021
7 606
Bonjour,

Il y a longtemps que je n'ai pas écrit de sql. Mais pas besoin de créer une vue.

moi je regarderais un truc de style
select * from films
....
having durée > avg(durée) 

mais il me semble que having necessite un group by

peut être même que
select * from films
....
where durée > avg(durée) 


ou alors un sous select
select * from films
...
where durée > (select avg(durée) from films)


on doit aussi pouvoir faire une jointure avec 2 fois la table films



Messages postés
15402
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021
844
bonjour,
je pense qu'il faut plutôt faire ainsi:
select * from films as f,
(select avg(durée) as moy from films) as a
where f.durée > a.moy
Messages postés
15402
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021
844 >
Messages postés
15402
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021

@jee pee: ce qui rejoint l'idée du sous select. il me semble indispensable d'avoir, en effet, une jointure sur deux fois la table.
Messages postés
15402
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021
844 >
Messages postés
15402
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021

@Teo35 c'est une très bonne idée de d'abord calculer la moyenne, et d'ensuite faire une jointure entre la moyenne et la table. c'est ce que je propose en une seule requête, qui calcule la moyenne et fait la jointure.
Bonjour
ah oui, je voulais créer une vue qui n'est pas de tout indispensable
merci pour vos réponses et pour votre aide.
bonne soirée
Messages postés
15402
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021
844
peux-tu alors marquer la discussion comme résolue?
Messages postés
5
Date d'inscription
samedi 10 avril 2021
Statut
Membre
Dernière intervention
30 avril 2021
>
Messages postés
15402
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
30 avril 2021

Oui bien sûr
Merci encore pour votre aide