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

Requêtes MySQL Discussion :

obtenir le top 5 des note en 1 requete?


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut obtenir le top 5 des note en 1 requete?
    bonjour,

    j'ai une table avec un identifiant de produit, une note et un identifiant d'utilisateur.

    J'aimerai extraire les 5 premiers qui ont les meilleures points sachant que les notes vont de 0 à 4 et que les points se compte comme ca:
    0 --> -2pts
    1 --> -1 pts
    2 --> 0 pts
    3 --> 1 pts
    4 --> 2 pts

    Peut t'on le faire en une seul requete?

    si oui comment?

    Merci d'avance

    Nixonne

  2. #2
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut Re: obtenir le top 5 des note en 1 requete?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORDER BY note DESC
    LIMIT 5
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut
    ouais mais j'ai les notes d'enregistrer pas les points

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut
    un exemple:

    produit 1:
    notes: 0 3 2 4 1 2
    points: -2 1 0 2 -1 0
    total points: 0

    produit 2:
    notes: 3 4 2 3
    points: 1 2 0 1
    total points: 4

    ...

  5. #5
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Si je comprends bien, les notes sont associées à des points, on fait la somme des points obtenus et tu recherches les 5 meilleurs?

    Sinon, comment tu enregistres la correspondance note/point? Dans une table ou juste par la relation points=note-2?

    Tu disposes de quelles tables?
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2003
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Juin 2003
    Messages : 205
    Par défaut
    Citation Envoyé par pcaboche
    Si je comprends bien, les notes sont associées à des points, on fait la somme des points obtenus et tu recherches les 5 meilleurs?
    tout a fais

    Citation Envoyé par pcaboche
    Sinon, comment tu enregistres la correspondance note/point? Dans une table ou juste par la relation points=note-2?
    la correspondance est fixe, mais pas encore définie totalement

    Citation Envoyé par pcaboche
    Tu disposes de quelles tables?
    juste de la table de correspondance qui a noté quel produit avec quel note

  7. #7
    Rédacteur
    Avatar de pcaboche
    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    2 785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Singapour

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 785
    Par défaut
    Ok, je fais l'hypothèse que points=note-2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT numProduit, SUM(note-2) as points
    from produit
     
    GROUP BY numProduit
    ORDER BY point DESC
    LIMIT 5
    "On en a vu poser les armes avant de se tirer une balle dans le pied..."
    -- pydévelop

    Derniers articles:

    (SQL Server) Introduction à la gestion des droits
    (UML) Souplesse et modularité grâce aux Design Patterns
    (UML) Le Pattern Etat
    Autres articles...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Obtenir le Top X des liens visités
    Par darKStein dans le forum Développement
    Réponses: 28
    Dernier message: 06/06/2011, 15h11
  2. Obtenir le top des visites
    Par darKStein dans le forum Développement
    Réponses: 16
    Dernier message: 19/05/2011, 17h47
  3. Obtenir le top 10 des membres postant le plus
    Par error404 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/03/2008, 10h43
  4. obtenir les adresses ip des machines d'un domaine?
    Par Shypster dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 03/02/2006, 11h44
  5. Réponses: 2
    Dernier message: 21/11/2005, 15h42

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