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 :

Requête sum + addition avec la dernière valeur d'un autre champ de la même table


Sujet :

Requêtes MySQL

  1. #1
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut Requête sum + addition avec la dernière valeur d'un autre champ de la même table
    Bonjour à tous,
    Je préviens c'est du costaud !
    Oui ma requête portera surement la moustache..

    J'ai une table A avec comme clé primaire un identifiant int id
    Elle contient 1 enregistrement par membre (champ nommé mb) et par mois (champ nommé date).

    Je souhaite faire un top ten des plus gros scores.. sans avoir à me tapper toute la liste des membres..
    Le score correspond à la somme d'un champ B + la dernière valeur du champ C (la plus récente)
    En code schmilblik ça donne un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum(B) + last_C GROUP BY mb ORDER BY (sum(B) + last_C) LIMIT 10
    J'avoue que je sèche.. Donc si vous avez une petite n'idée
    Pour le sum tout va bien, c'est le + last_C qui me chatouille..

    Si j'ai pas été assez clair, vous pouvez m'allumer..

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 937
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 937
    Points : 4 358
    Points
    4 358
    Par défaut
    Citation Envoyé par d-Rek
    Bonjour à tous,
    Je préviens c'est du costaud !
    Oui ma requête portera surement la moustache..

    J'ai une table A avec comme clé primaire un identifiant int id
    Elle contient 1 enregistrement par membre (champ nommé mb) et par mois (champ nommé date).

    Je souhaite faire un top ten des plus gros scores.. sans avoir à me tapper toute la liste des membres..
    Le score correspond à la somme d'un champ B + la dernière valeur du champ C (la plus récente)
    En code schmilblik ça donne un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sum(B) + last_C GROUP BY mb ORDER BY (sum(B) + last_C) LIMIT 10
    J'avoue que je sèche.. Donc si vous avez une petite n'idée
    Pour le sum tout va bien, c'est le + last_C qui me chatouille..

    Si j'ai pas été assez clair, vous pouvez m'allumer..
    en espérant que votre version de MySQL supporte les VIEWs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    create view last_C_view as select mb, C from A where (mb,date) in (select mb,max(date) from A group by mb) ;
     
    select sum(A.B) + last_C_view.C from A, last_C_view where TABLE.mb = last_C_view.mb group by A.mb ;

  3. #3
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Merci bcp

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

Discussions similaires

  1. Retourner "o" si valeur à non dans autre champ de requête ?
    Par clickandgo dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/04/2012, 13h36
  2. Réponses: 9
    Dernier message: 12/04/2012, 17h03
  3. requête sql, récupération de la dernière valeur
    Par Saten dans le forum Langage SQL
    Réponses: 16
    Dernier message: 21/10/2008, 10h42
  4. Réponses: 7
    Dernier message: 08/03/2007, 21h51
  5. Réponses: 14
    Dernier message: 25/09/2006, 13h03

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