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 :

probleme avec max


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    salut j'exécute cette requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select max(ordre),cod_typ_etap,code_libelle,date_etape 
    from etape
    where num_dossier in
    (select num_dossier from etape where num_dossier=4075)
    group by cod_typ_etap,code_libelle,date_etape;
    elle me donne ceci :

    MAX(ORDRE) COD_TYP_ETAP CODE_LIBELLE DATE_ETA
    ---------- ------------ ------------ --------
    1 1 2 10/01/90
    2 2 1 25/01/90
    7 3 26/12/90
    9 4 25/05/07
    8 18 02/01/91
    3 19 09/01/91
    4 20 25/01/91
    5 21 18/09/91
    6 22 20/12/93

    moi je voudrais qu'elle me donne seulement la ligne ayant ordre=max(ordre)
    merci de votre aide .

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 115
    Points : 28 493
    Points
    28 493
    Par défaut
    Dans un premier temps, ta requête telle qu'elle est écrite pourrait être simplifiée ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT  max(ordre)
        ,   cod_typ_etap
        ,   code_libelle
        ,   date_etape 
    FROM    etape
    WHERE   num_dossier = 4075
    GROUP BY cod_typ_etap
        ,   code_libelle
        ,   date_etape
    ;
    Ensuite pour obtenir seulement la ligne ayant ordre=max(ordre) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    SELECT  ordre
        ,   cod_typ_etap
        ,   code_libelle
        ,   date_etape
    FROM    etape
    WHERE   num_dossier = 4075
        AND ordre = (   SELECT  MAX(ordre)
                        FROM    etape
                        WHERE   num_dossier = 4075
                    )
    ;
    Une autre manière de l'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT  etp.ordre
        ,   etp.cod_typ_etap
        ,   etp.code_libelle
        ,   etp.date_etape
    FROM    etape   AS etp
    WHERE   etp.num_dossier = 4075
        AND EXISTS
            (   SELECT  1
                FROM    etape   AS  lst
                WHERE   lst.num_dossier = etp.num_dossier
                HAVING  MAX(lst.ordre)  = etp.ordre 
            )
    ;

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    merçi
    sql ne sera jamais mon meilleur ami apparement

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

Discussions similaires

  1. Problem requete avec MAX, GROUP BY ...
    Par alexthomas dans le forum Langage SQL
    Réponses: 1
    Dernier message: 18/11/2008, 16h58
  2. Probleme avec select max
    Par gsaylat dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/08/2007, 15h14
  3. probleme avec le max
    Par fat dans le forum Langage SQL
    Réponses: 7
    Dernier message: 27/06/2007, 13h08
  4. Probleme avec MAX
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 4
    Dernier message: 20/07/2006, 16h13
  5. [EJB3][HIBERNATE] Probleme avec select max
    Par kristof_machin dans le forum Hibernate
    Réponses: 2
    Dernier message: 26/04/2006, 14h05

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