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 :

Afficher la ligne avec la date la plus récente


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 14
    Points
    14
    Par défaut Afficher la ligne avec la date la plus récente
    J'aimerai isoler la ligne d'une table qui contient une colone date_heure (au format date) avec la date la plus récente ?

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Quelle version d'Oracle ?

    Qu'avez-vous essayé ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    oracle 10 g

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      select *
        from charges
       where date_heure_charge_four is not null
         and rownum = 1 
    order by date_heure_charge_four asc;

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Il doit bien y avoir un critère de rupture dans vos données, là rien n'apparaît dans votre requête.

    Je veux bien vous aider mais il va falloir vous montrer un peu plus prolixe.

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Que voulez vous savoir ?

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 23
    Points : 14
    Points
    14
    Par défaut
    Voila ma table j'aimerai récupérer une seule ligne

    32 19-juil.-2010 15:15:20
    31 19-juil.-2010 15:13:02
    29 16-juil.-2010 15:19:18
    6 15-juil.-2010 11:33:41
    5 15-juil.-2010 11:33:41
    4 15-juil.-2010 11:33:41
    7 15-juil.-2010 11:33:41
    -----------------------------------------
    Résultat

    32 19-juil.-2010 15:15:20

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Essayez comme ça :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT *
      FROM ( SELECT rownum, c.*
               FROM charges c
              WHERE c.date_heure_charge_four IS NOT NULL
           ORDER BY c.date_heure_charge_four DESC)
     WHERE rownum = 1

  8. #8
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Waldar, le rownum n'est-il pas sensé être évalué avant l'order by ? (genre tout de suite après le WHERE)

    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
     
    WITH t AS 
    (SELECT level l, row_number() over(order by dbms_random.random) r
    FROM DUAL 
    CONNECT BY LEVEL <= 10)
    SELECT rownum, l, r
    FROM t
    ORDER BY l
     
     
        ROWNUM          L          R
    ---------- ---------- ----------
             2          1          2
             4          2          4
             7          3          7
            10          4         10
             8          5          8
             9          6          9
             6          7          6
             5          8          5
             1          9          1
             3         10          3
     
     
    10 rows selected.

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Points : 388
    Points
    388

  10. #10
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Ouais mais en y réfléchissant, je pense que la requête de Waldar marche, parce que son second "rownum", est bien celui de la requête après le tri... ça porte un peu à confusion

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 40
    Points : 45
    Points
    45
    Par défaut
    Bonjour :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT *
    FROM charges
    where date_heure_charge_four = ( SELECT max(date_heure_charge_four)
               FROM charges 
               group by date_heure_charge_four)

    Seul inconvénient, retourne toutes les lignes qui ont la même date.
    Zephyrin

Discussions similaires

  1. Trouver les enregistrements avec les dates les plus récentes
    Par fullmetalalchemiste dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/05/2012, 10h05
  2. Réponses: 1
    Dernier message: 07/07/2009, 14h45
  3. [HQL] recuperer l'objet avec la date la plus recente
    Par snopims dans le forum Hibernate
    Réponses: 6
    Dernier message: 09/01/2009, 10h32
  4. Réponses: 8
    Dernier message: 12/11/2008, 17h07
  5. Réponses: 3
    Dernier message: 17/05/2008, 14h39

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