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

MS SQL Server Discussion :

Requêtes agrégat MAX


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut Requêtes agrégat MAX
    Bonjour à tous...

    J'ai un petit problème avec un requête qui doit pourtant être très simple...

    J'ai une table dont la cle se fait sur deux colonne (référence et progressif) du type :
    ref prog descr obs
    555 1 test prog1
    555 2 test prog2
    666 1 test1 prog1
    777 1 test2 prog1
    777 2 test2 prog2
    777 3 test2 prog3

    Et je voudrais tout simplement avoir chaque référence avec son progressif le plus haut, c'est à dire :
    ref prog descr obs
    555 2 test prog2
    666 1 test1 prog1
    777 3 test2 prog3

    Ben j'y arrive pas!!!!!! :-( Ca doit pourtant être un cas d'école...

    Merci pour votre aide....

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select ref, MAX(prog), descr, obs
    from tatable
    group by ref, descr, obs

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Par défaut
    Tu peux aussi faire un Top 1 (a condition que tu ordonnes en DESC)

    Bonne continuation

    Notalp

  4. #4
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    Merci pour votre aide mais cette requête me renvoi toutes les ligens de ma table...

  5. #5
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut
    Merci pour votre aide mais cette requête me renvoi toutes les ligens de ma table...

    En fait ma cle primaire est sur les colonnes référence et progressif et également sur une autre colonne oui/non. Est-ce que ça peut venir de là?

    oui/non ref prog descr obs
    o 555 1 test prog1
    o 555 2 test prog2
    n 666 1 test1 prog1
    o 777 1 test2 prog1
    o 777 2 test2 prog2
    n 777 3 test2 prog3

  6. #6
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    si tu dois gérer ton oui/non tu écris

    SELECT ref, MAX(prog), descr, obs
    FROM tatable
    where [oui/non]='o'
    GROUP BY ref, descr, obs

  7. #7
    Futur Membre du Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Par défaut Ok
    En fait je ne voulais pas gérter le oui/ non je vouslais simplement toutes les références, avec les infos correspondantes , pour lesquelles le progessif était le plus élevé. Et la solution est :

    SELECT *
    FROM matable d
    where prog = (SELECT MAX(prog)
    FROM matable
    where matable.ref = d.ref)

    Voila en fait il fallait simplement une jointure entre la table de ma requête principale et ma sous requête.

    Merci

Discussions similaires

  1. requete d'agrégation max
    Par opensource dans le forum Hibernate
    Réponses: 1
    Dernier message: 21/06/2007, 10h42
  2. Requête avec MAX et COUNT
    Par arno a. dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 16/04/2007, 14h02
  3. [Requête] fonction Max sur 2 champs
    Par GIPPE dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 17/01/2007, 09h59
  4. [requête] agrégat Count
    Par laurent.w dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 30/12/2006, 06h27
  5. [MySQL] requête SQL MAX puis récupération de la valeur
    Par zulot dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/02/2006, 14h17

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