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 :

[Requête] faire la somme des max pour chaque utilisateur


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Inscrit en
    Février 2005
    Messages
    192
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 192
    Points : 198
    Points
    198
    Par défaut [Requête] faire la somme des max pour chaque utilisateur
    Bonjour à tous,

    La question n'est pas de moi et provient d'un autre forum mais je n'ai pas su y répondre, et j'aimerai savoir comment faire

    Soit une table Résultats(id, coureur, course, points).

    Un coureur peut courir plusieurs fois sur une même on ne gardera qu'un seul résultat par course (celui où le coureur aura gagné le plus de points pour cette course).

    La question de savoir comment récupérer le nombre total des points de chaque coureur.

    Ce qui est en gras dans la requête n'est pas valide (du moins dans Postgres), mais c'est pour donner une idée plus précise du but de la manoeuvre :

    SELECT sum(max(points)), nom_coureur, nom_course
    FROM resultats
    GROUP BY nom_course, nom_coureur
    ORDER BY nom_coureur, nom_course;

    Cordialement,

    mathias

  2. #2
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    je ne suis pas sur de ma reponse mais essaye:

    SELECT sum(points), nom_coureur, nom_course
    FROM resultats
    GROUP BY nom_coureur
    HAVING points = select (max(points) from resultats group by nom_coureur)
    ORDER BY nom_coureur, nom_course;

    edit: je viens de tester cette solution, malheuresement elle ne marche pas

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 49
    Points : 38
    Points
    38
    Par défaut
    tu peux essayer cette requete en tout cas elle marche sous ACCESS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     SELECT sum(maxdenote) AS TOTNote , coureur FROM ( SELECT COUREUR.COUREUR, COUREUR.COURSE, Max(COUREUR.NOTE) AS MaxDeNOTE
    FROM COUREUR
    GROUP BY COUREUR.COUREUR, COUREUR.COURSE)
    GROUP BY COUREUR

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Mars 2006
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Mars 2006
    Messages : 400
    Points : 562
    Points
    562
    Par défaut
    Soit une table Résultats(id, coureur, course, points).
    Pour faire le total des points, il faut d'abord sélectionner toutes les courses en ne gardant que le meilleur résultat de chaque course.
    Il s'agit en fait de ne pas sélectionner les course pour lesquelles un meilleur résultat existe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT A.coureur, A.course, SUM(A.points) AS total_points
    FROM Résultats A
        LEFT JOIN Résultats B ON B.coureur=A.coureur AND B.course=A.course
            AND B.points>A.points
    WHERE B.id IS NULL
    GROUP BY coureur, course
    ORDER BY coureur, course

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/04/2014, 21h47
  2. Réponses: 3
    Dernier message: 07/10/2011, 05h44
  3. [XL-2003] Fonction pour faire la somme des cellule jaune
    Par kolann dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/07/2010, 16h00
  4. [AC-2000] Comment faire la somme des heures en requete pour un état ?
    Par angelevil dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 08/09/2009, 02h19
  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