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

Oracle Discussion :

[Oracle9] utilisation de max


Sujet :

Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 22
    Points
    22
    Par défaut [Oracle9] utilisation de max
    Bonjour,

    j'ai un petit pb.

    apres un peu de gymnastik et de jointure sur des tables j'obtients des resultats de cette forma

    famille| X2 | X3 | X4 | A
    -----------------------------------
    a | jj | gty | hh | 1
    a | g | gty | hh | 3
    c | t | gty | hh | 1
    c | jj | gty | hh | 4

    Ce que je souhaiterais fair c'est répérer les lignes correspondant au maximum de la colonne A et les afficher

    en gros je voudrais avoir:

    famille| X2 | X3 | X4 | A
    -----------------------------------
    a | g | gty | hh | 3
    c | jj | gty | hh | 4


    De l'aide svp merci !!

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    Vous n'avez pas indiqué votre SGBD et sa version et personnellement je ne comprends pas comment vous arrivez au second résultat ?
    Enfin, donnez-nous la requête retournant les données de votre 1er exemple si elle sert de base à la construction de la 2ème requête.

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    désolé,
    Ma requête tourne sur Oracle 9i.

    Effectivement, il yavait une erreur ds mon énoncé, je l'ai corrigée.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mai 2002
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 35
    Points : 36
    Points
    36
    Par défaut
    Je suis peut-être trop blonde pour comprendre, mais je croyais que le max de 1, 3 et 4, c'était 4... Je ne savais pas que c'était 3 ET 4...

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    En fait, en parlant de max, j'entends par la le max pour chaque famille

  6. #6
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    tu nous donnes trop peu d'elements pour t'aider.
    Que veux tu exactement, car il existe moultes requetes pour arriver a ce resultat.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    Deja merci de vous preoccupper de mon pb.

    Je reviens depuis le debut.

    je dispose de données agencées hierarchiquement. pere/fils.
    un pere peut etre un fils d'un autre.

    j'ai fait une requete hiérachik et avec sys_connect_by_path, j'obtiens en qq sorte l'arbre genealogik de tout individu.

    /X1
    /X1/X11
    /X1/X11/X111

    /X2/
    X2/X21
    /X2/X21/X211

    en utilisant 'level', pour chaque ligne, j'obtiens la profondeur

    /X1 1
    /X1/X11 2
    /X1/X11/X111 3

    Ce que je souhaiterais garder, ce n'est que les lignes correspondant aux individus au bout de la chaines, donc ceux qui ont un level max.


    j'espere que c'est plus clair

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    en fait tu veux le max pour chaque famille, non ?

    PS : il existe un forum Oracle où interviennent beaucoup d'experts et vu la spécificité de ton contexte, je demanderais à un modérateur de déplacer mon message.

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    yep,
    c'est exactement ce que je veux

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Personne pour m'aider??
    De l'aide svp

  11. #11
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Bonjour,

    je ne sais exactement ce qui se passe avec la première requete mais je pense que ceci pourrait faire l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT famille, X2, X3, X4, A
    from (LaGrosseRequete) a
    where A = (select max(b.A)
                      from (LaGrosseRequete) b
                      where b.famille = a.famille
                      group by b.famille)
    group by famille, X2, X3, X4, A
    order by famille, X2, X3, X4, A
    "LaGrossRequete" étant la requête qui permet d'arriver au premier résultat.

    Niveau performance cela doit pas être TOP

Discussions similaires

  1. utiliser le max d'une clé
    Par Elstak dans le forum VBA Access
    Réponses: 3
    Dernier message: 31/05/2007, 15h08
  2. [CSS2 ] utilisation conjugé max-width + min-width
    Par zargeus dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 07/12/2006, 16h59
  3. [Oracle 9i][Débutant] Utilisation de MAX avec autres champs
    Par Requin15 dans le forum Langage SQL
    Réponses: 7
    Dernier message: 07/06/2006, 11h58
  4. [Think Pascal] Utilisable sous Max OS X ?
    Par clavius dans le forum Autres IDE
    Réponses: 1
    Dernier message: 13/01/2006, 22h26
  5. Utilisation de MAX dans une requête SQL
    Par Evil onE dans le forum Langage SQL
    Réponses: 7
    Dernier message: 15/06/2004, 18h38

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