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 :

Max Date et Group by


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Max Date et Group by
    Bonjour,

    Je souhaite extraire les prix1 et prix2 des lettres ayant la date la plus récente.

    Lettres - Date - prix1 - prix2
    A - 2010/11/01 - 1 - 2
    A - 2010/10/01 - 2 - 3
    B - 2010/09/01 - 4 - 5
    B - 2010/08/01 - 6 - 7
    C - 2010/07/01 - 8 - 9
    C - 2010/06/01 - 10 - 11

    Je souhaite donc avoir comme résultat :

    Lettres - Date - prix1 - prix2
    A - 2010/11/01 - 1 - 2
    B - 2010/09/01 - 4 - 5
    C - 2010/07/01 - 8 - 9

    J'utilise un max sur la table(date) et un group by sur les tables(Lettres,prix1 et prix2) mais ca ne marche pas

    Merci d'avance pour votre aide

    Cordialement

  2. #2
    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
     
    Connected to Oracle Database 10g Express Edition Release 10.2.0.1.0 
    Connected as mni
     
    SQL> 
    SQL> With Data As (
      2    Select 'A' As Lettre, date '2010-11-01' as Dat, 1 As prix1, 2 as prix2 from dual union all
      3    Select 'A', date '2010-10-01', 2, 3  from dual union all
      4    Select 'B', date '2010-09-01', 4, 5  from dual union all
      5    Select 'B', date '2010-08-01', 6, 7  from dual union all
      6    Select 'C', date '2010-07-01', 8, 9  from dual union all
      7    Select 'C', date '2010-06-01', 10, 11  from dual
      8  )
      9  select lettre, Max(dat) Dat,
     10         Max(prix1) keep (dense_rank last order by dat) Prix1,
     11         Max(prix2) keep (dense_rank last order by dat) Prix2
     12    from data
     13  group by lettre
     14  /
     
    LETTRE DAT              PRIX1      PRIX2
    ------ ----------- ---------- ----------
    A      01/11/2010           1          2
    B      01/09/2010           4          5
    C      01/07/2010           8          9
     
    SQL>

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Max date et group by
    ok MERCI

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

Discussions similaires

  1. MAX(date) et GROUP BY Day(date)
    Par Dev@lone dans le forum Requêtes
    Réponses: 25
    Dernier message: 30/05/2012, 14h34
  2. mysql max date group by
    Par legend79 dans le forum Requêtes
    Réponses: 18
    Dernier message: 10/04/2012, 14h44
  3. Select sum(Poids) sur max(date) group by adr
    Par olibara dans le forum Requêtes
    Réponses: 2
    Dernier message: 15/04/2009, 18h12
  4. Somme Group by et Max date
    Par mamiberkof dans le forum Langage SQL
    Réponses: 5
    Dernier message: 03/04/2008, 16h48
  5. [SQL2005] group by et max(date)
    Par BOUBOU81 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 11/12/2006, 16h54

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