Moyenne sql

Résolu
Teo35 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
Teo35 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

jee pee Messages postés 41333 Date d'inscription   Statut Modérateur Dernière intervention   9 666
 
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



0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 
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
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
@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.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583 > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
@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.
0
Teo35
 
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
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 
peux-tu alors marquer la discussion comme résolue?
0
Teo35 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
Oui bien sûr
Merci encore pour votre aide
0