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

SQL Oracle Discussion :

Requête Oracle analytique max


Sujet :

SQL Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 141
    Points : 28
    Points
    28
    Par défaut Requête Oracle analytique max
    Bonjour,

    J'ai une table T1


    avec 6 ligne

    1 01/01/2012 x1
    1 01/01/2012 x2
    1 02/02/2012 x1
    1 02/02/2012 x4
    2 05/02/2013 x4
    2 06/03/2013 x6

    je veut afficher les
    1 02/02/2012 x1
    1 02/02/2012 x4
    2 06/03/2013 x6

    Je cherche une requête avec les fonction analytique oracle pour affiche ses resultat


    Merci d'avance

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Il faudrait que tu commences par expliquer pourquoi tu retiens ces lignes là et pas les autres ?
    Ensuite, si tu veux en savoir plus sur les fonctions analytiques, tu peux étudier ce document.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    bonjour,

    J'essaie de lire ce que tu veux sortir mais j'ai l'impression qu'il y a quelque chose qui va pas dans ton résultat.

    dans ta table T1 tu as 3 colonnes

    -num
    -date
    -coef

    tu veux sortir le max de num en fonction de la date ou du coef ?
    ton résultat serait pas plutot
    1 01/01/2012 x2
    1 02/02/2012 x4
    2 05/02/2013 x4
    2 06/03/2013 x6

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 141
    Points : 28
    Points
    28
    Par défaut
    Bonjour,
    execuse moi
    je veut affiche

    1 02/02/2012 x2
    1 02/02/2012 x4
    2 06/03/2013 x6

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    bon bah je comprend pas la logique qu'il y a derrière...

    je comprend si tu veux
    1 01/01/2012 x4
    2 06/03/2013 x6

    ou si tu veux
    1 01/01/2012 x2
    1 02/02/2012 x4
    2 05/02/2013 x4
    2 06/03/2013 x6

    mais le résultat que tu attends je vois pas....
    1 02/02/2012 x2 n'existe pas dans ta première liste
    1 02/02/2012 x4
    2 06/03/2013 x6

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 141
    Points : 28
    Points
    28
    Par défaut
    Bonjour
    1 01/01/2012 x1
    1 01/01/2012 x2
    1 02/02/2012 x1
    1 02/02/2012 x4
    2 05/02/2013 x4
    2 06/03/2013 x6
    Resultat attendu
    1 02/02/2012 x1
    1 02/02/2012 x4
    2 06/03/2013 x6

    Merci d'avance

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Si tu veux obtenir de l'aide sur le Comment ?, il faut que tu nous donnes plus d'informations sur le Pourquoi ?

    Quelles sont les requêtes que tu as déjà essayées ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2012
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Juin 2012
    Messages : 16
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par safari25 Voir le message
    Bonjour
    1 01/01/2012 x1
    1 01/01/2012 x2
    1 02/02/2012 x1
    1 02/02/2012 x4
    2 05/02/2013 x4
    2 06/03/2013 x6
    Resultat attendu
    1 02/02/2012 x1
    1 02/02/2012 x4
    2 06/03/2013 x6

    Merci d'avance
    En quoi la row "1 02/02/2012 x1" est un max ?

    désolé j'essaie de comprendre

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 141
    Points : 28
    Points
    28
    Par défaut
    Bonjour

    j'ai id =1 qui a deux ligne 01/01/2012 et 02/02/2012 j'affiche les deux ligne de 1 02/02/2012
    pour id =2 j'affiche 2 06/03/2013 x6


    c'est possible c'est pas le max moi je veux afficher

    1 02/02/2012 x1
    1 02/02/2012 x4
    2 06/03/2013 x6

    Merci d'avance

  10. #10
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 
    Connected as mni
     
    SQL> 
    SQL> With Data As (
      2    Select 1 id, '01/01/2012' dat, 'x1' val from dual union all
      3    Select 1 id, '01/01/2012' dat, 'x2' val from dual union all
      4    Select 1 id, '02/02/2012' dat, 'x1' val from dual union all
      5    Select 1 id, '02/02/2012' dat, 'x4' val from dual union all
      6    Select 2 id, '05/02/2013' dat, 'x4' val from dual union all
      7    Select 2 id, '06/03/2013' dat, 'x6' val from dual
      8  )
      9  Select id, dat, val
     10    From Data
     11    Where (id, dat) in (Select id, Max(Dat)
     12                          From Data
     13                         Group By id
     14                       )
     15  Order By id, Dat, val
     16  /
     
            ID DAT        VAL
    ---------- ---------- ---
             1 02/02/2012 x1
             1 02/02/2012 x4
             2 06/03/2013 x6
     
    SQL>

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 141
    Points : 28
    Points
    28
    Par défaut
    Bonjour,

    Avec votre requête j'aurais q'une seule ligne pour

    id =1 moi je veut les deux ligne

    1 '02/02/2012' dat, 'x1'
    1 '02/02/2012' dat, 'x4

  12. #12
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    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 080
    Points : 30 801
    Points
    30 801
    Par défaut
    Tant que tu n'expliques pas POURQUOI cette ligne doit être retournée, il est difficile de concevoir la requête qui donnera le résultat souhaité !

    En d'autres termes, c'est cela que nous attendons :
    Avec votre requête je n'aurai qu'une seule ligne pour id =1 moi je voudrais les deux lignes

    1 '02/02/2012' dat, 'x1'
    1 '02/02/2012' dat, 'x4

    parce que ...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  13. #13
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Citation Envoyé par safari25 Voir le message
    Avec votre requête j'aurais q'une seule ligne pour id =1 moi je veut les deux ligne
    il me semble qu'il y a un exemple qui montre bien qu'il y a 2 lignes, non ?

Discussions similaires

  1. Requête oracle
    Par Requin15 dans le forum Oracle
    Réponses: 1
    Dernier message: 28/03/2006, 09h53
  2. Requête oracle : update et sélection...
    Par Requin15 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 27/03/2006, 19h32
  3. Traduire requête oracle vers access
    Par petitmic dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 18h21
  4. [Débutant] Requête SELECT avec max et sous-requête
    Par joefou dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/07/2005, 14h28
  5. Voir les dernières requête Oracle
    Par newchurch dans le forum Oracle
    Réponses: 4
    Dernier message: 11/04/2005, 23h41

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