IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Simple requête SQL.


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2003
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 29
    Points : 21
    Points
    21
    Par défaut Simple requête SQL.
    Bonjour, voici mon petit soucis,

    J'ai une table, 'photo' :

    PHOTO_ID | COMPTE_ID | NOMBRE_VOTE | NOTE_VOTE

    Chaque photo a une note qu'il faut diviser par le nombre de votes pour avoir la note finale.
    Le but est de déterminer quel est le COMPTE_ID qui a la meilleur note. Un COMPTE_ID a biensur plusieurs photo.

    J'ai donc mis en place cette première requête;
    Il reste juste à diviser la NOTE par le nombre total de photos que possède chaque COMPTE_ID.

    Milles merci!!

    SELECT SUM( NOTE_VOTE / NOMBRE_VOTE ) AS NOTE, COMPTE_ID
    FROM photo
    GROUP BY compte_id
    ORDER BY note DESC
    LIMIT 0 , 10

  2. #2
    Membre habitué
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2002
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2002
    Messages : 98
    Points : 169
    Points
    169
    Par défaut
    Chaque photo a une note qu'il faut diviser par le nombre de votes pour avoir la note finale.
    Je comprends pas bien là...

    Pourquoi ne pas faire tout simplement la moyenne des notes ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT AVG( NOTE_VOTE ) AS NOTE, COMPTE_ID
    FROM photo
    GROUP BY compte_id
    ORDER BY note DESC
    LIMIT 0 , 10

  3. #3
    Expert confirmé

    Homme Profil pro
    SDE
    Inscrit en
    Août 2007
    Messages
    2 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : SDE

    Informations forums :
    Inscription : Août 2007
    Messages : 2 013
    Points : 4 327
    Points
    4 327
    Par défaut
    Je propose :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT AVG(NOTE_VOTE) AS NOTE, COMPTE_ID
    FROM photo
    GROUP BY compte_id
    HAVING NOTE = (
         SELECT MAX(AVG( NOTE_VOTE ))
         FROM photo
         GROUP BY compte_id
         )
    ORDER BY note DESC
    A tester ...

Discussions similaires

  1. je bloque sur de simples requêtes SQL
    Par ikuzar dans le forum Débuter
    Réponses: 6
    Dernier message: 17/09/2012, 20h17
  2. Question simple requête SQL
    Par parapluie dans le forum Langage SQL
    Réponses: 1
    Dernier message: 23/07/2010, 12h53
  3. [MySQL] Simple (?) Requête SQL
    Par OmnislashS dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 08/02/2010, 11h19
  4. Simple requête sql
    Par innova dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 11/11/2006, 13h33
  5. requête SQL simple
    Par Echizen1 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/09/2006, 15h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo