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

Requêtes PostgreSQL Discussion :

Récupérer le dernier enregistrement de chaque jour


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 13
    Points
    13
    Par défaut Récupérer le dernier enregistrement de chaque jour
    Bonjour à tous,
    j'ai une requête que je n'arrive pas à écrire.
    j'ai une table qui contient avec plusieurs enregistrement par jour de plusieurs mois et plusieurs années. j'ai un champ "date". je souhaiterai extraire de cette table le dernier enregistrement de chaque jour. Donc au maximum je devrai avoir 31 ou 30 enregistrements pour un mois, s'il y a eu des données d'enregistrées tous les jours.
    quelqu'un aurait une idée ? je séche ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT max(date_mouvement) FROM ligne GROUP BY date_mouvement order by max(date_mouvement)
    cette requête ne me permet de récupérer que le champs date, je voudrais tous les champs, la ligne entière, ou au moins l'id.

    merci beaucoup
    Bonne journée à vous
    Aurélie

  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 788
    Points
    30 788
    Par défaut
    Bonjour,

    C'est un problème classique en SQL, déjà résolu de nombreuses fois sur ce forum.
    Un billet de blog lui a même été consacré : Sélectionner la ligne la plus récente pour un critère.
    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
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    oui j'ai regardé mais cela ne correspond pas à mon besoin, si j'ai bien compris. Ce type de requête ramène une seule ligne, effectivement le dernier enregistrement.
    J'aurai besoin de récupérer le dernier enregistrement de chaque jour, donc par exemple pour 1 mois, s'il y a 500 enregistrement, à raison de plusieurs enregistrements par jour, je devrai avoir un select qui ramène 31 lignes.

    Pour l'instant j'ai réussi à faire cette requête qui a l'air de fonctionner...
    Je ne sais pas si c'est le plus optimiser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select date, solde from ligne  
    where id in (SELECT max(id) FROM ligne GROUP BY date )
    order by date_mouvement;
    Merci à ce site d'exister et aux administrateurs, animateurs d'avoir la patience de répondre

  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
    Citation Envoyé par evaporite Voir le message
    oui j'ai regardé mais cela ne correspond pas à mon besoin, si j'ai bien compris.
    Vous avez mal compris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      select distinct on (date_mouvement::date)
             id
           , date_mouvement
           , solde
        from ligne
    order by date_mouvement::date  asc
           , date_mouvement       desc;

  5. #5
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 13
    Points
    13
    Par défaut
    . IL faut que je creuse un peu alors Merci de votre retour
    J'ai testé votre requête, elle ne retourne pas le dernier enregistrement de la journée mais "un des enregistrements de la journée"

  6. #6
    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
    Et bien ce n'est pas normal, comment sont typées vos données ?

Discussions similaires

  1. Réponses: 11
    Dernier message: 01/07/2020, 12h53
  2. [MySQL-5.5] Récupérer le dernier message de chaque expéditeur pour un destinataire
    Par montis dans le forum Requêtes
    Réponses: 3
    Dernier message: 02/06/2016, 05h18
  3. comment récupérer le dernier argument de chaque ligne dans une liste?
    Par sth56 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 22/03/2011, 14h02
  4. Sélection des derniers enregistrements de chaque jour
    Par sebastyen dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/05/2009, 12h36
  5. Récupérer les dernier articles de chaque catégories
    Par bobic dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/12/2008, 16h12

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