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 et SQL. Discussion :

Requete combinant Max et Dmax ?


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 31
    Points : 34
    Points
    34
    Par défaut Requete combinant Max et Dmax ?
    Bonjour,

    Soit une liste de donnée du type :

    CLIENT/DATE/VALEUR
    titi/01-01-10/12
    titi/02-01-10/55
    titi/15-02-10/25
    toto/05-01-10/10
    toto/01-03-10/17

    comment construire une requete qui genere le résultat suivant (à Quelle DATE chaque CLIENT à t-il sa VALEUR maximum) :

    CLIENT/DATE/VALEUR
    titi/02-01-10/55
    toto/01-03-10/17

    une fonction "max" avec un agrégat sur client ne permet pas d'associer la date et la fonction "Dmax" ne renvoie qu'un enregistrement...

    Merci

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 886
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 886
    Points : 58 549
    Points
    58 549
    Billets dans le blog
    45
    Par défaut
    bonsoir,

    en deux temps:
    - une premier requête qui recherche la valeur maxi par client
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Client, max(Valeur) as ValeurMaxi 
    FROM LaTable
    GROUP BY Client

    - une deuxième qui reprend la précédente et reliée à la table sur les champs (client, valeur).

    le tout imbriqué, ça donnerait:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT T.Client, T.LaDate, T.Valeur
    FROM LaTable T
    INNER JOIN
    (
       SELECT Client, max(Valeur) as ValeurMaxi 
       FROM LaTable
       GROUP BY Client
    ) R1
    ON T.Client=R1.Client AND T.Valeur=R1.ValeurMaxi;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 31
    Points : 34
    Points
    34
    Par défaut
    Bonjour,

    La solution proposée par f-leb a effectivement bien répondu à ma question.

    Donc, Grand Merci à f-leb

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

Discussions similaires

  1. [SQL Server] Requete avec MAX et group by
    Par joKED dans le forum Langage SQL
    Réponses: 1
    Dernier message: 05/01/2007, 14h00
  2. Requete avec max et group by
    Par Maxime555 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 28/07/2006, 12h48
  3. Requete avec Max
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 11
    Dernier message: 16/01/2006, 11h59
  4. [SQL] requete select max
    Par kabikou dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 19/10/2005, 17h18
  5. Pb requete avec MAX
    Par Karibou dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 18/08/2005, 15h05

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