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 et SQL. Discussion :

Recuperer les derniers enregistrements par date


Sujet :

Requêtes et SQL.

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Recuperer les derniers enregistrements par date
    Bonjour,

    J'ai une table qui contient un champ fEntryDate, dans lequel sont stockees la date et l'heure a chaque fois qu'une mise a jour est faite. Sachant qu'il peut y avoir plusieurs mises a jour dans la journee, j'aimerais recuperer chaque dernier enregistrement pour chaque jour.

    Petit exemple de la table :
    fEntryDate fValue
    18/05/2013 08:00 100
    18/05/2013 12:00 150
    18/05/2013 17:00 130
    19/05/2013 07:00 99
    20/05/2013 11:00 120
    20/05/2013 12:30 125
    21/05/2013 06:00 121

    Et le resultat que je souhaite :
    fEntryDate fValue
    18/05/2013 17:00 130
    19/05/2013 07:00 99
    20/05/2013 12:30 125
    21/05/2013 06:00 121

    Je vous remercie par avance pour votre aide !
    Cdt,

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Bonjour,

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select a.* from matable a where a.madate=(select max(b.madate) from matable b where int(a.madate)=int(b.madate))

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci Nico,

    En fait, ca marche a moitie car cela ne me recupere pas le plus ancien de tous. Je suis en train de me demander si ce n'est pas du fait que sur tous les premiers enregistrements de ma table, il n'y a pas d'heure, mais juste la date, alors que sur les enregistrements dont la date est aujourd'hui, il y a l'here (car je fais plusieurs essais en ce moment meme). Pour information, mon champ est de type Date/Time, au format (21/05/2013 17:34:23).

    Voici ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT a.*
    FROM tDivs AS a
    WHERE a.fEntryDate=(SELECT MAX(b.fEntryDate) from tDivs b WHERE a.fEntryDate=b.fEntryDate)
    AND a.fSecurity='TEF SQ'
    ORDER BY a.fEntryDate;
    Merci par avance.

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Je voulais juste ajouter aussi que chaque champ possede un numero auto unique, et que c'est peut etre plus simple avec ca.
    Je ne sais pas concretement comment faire, mais peut etre que l'on peut dire quelque chose du genre : SELECT * FROM matable WHERE "pour chaque date trouvee, prendre le max ID".

    Merci !

  5. #5
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Oui si les id sont "dans l'ordre" ça marche aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT a.*
    FROM tDivs AS a
    WHERE a.id=(SELECT MAX(b.id) from tDivs b WHERE int(a.fEntryDate)=int(b.fEntryDate))
    AND a.fSecurity='TEF SQ'
    ORDER BY a.fEntryDate;

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonsoir Nico,

    Desole pour la reponse tardive.
    Ecoute, j'ai essaye ce que tu m'as propose, mais j'ai toujours le meme souci.
    J'ai donc fait une mini BDD exemple, si cela ne t'ennuie pas de regarder s'il te plait, ce serait vraiment sympa.

    Je te remercie par avance.
    Cdt,
    Fichiers attachés Fichiers attachés
    • Type de fichier : zip DB.zip (13,6 Ko, 35 affichages)

  7. #7
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 107
    Points : 5 230
    Points
    5 230
    Par défaut
    Il faut comparer la partie entière des dates sinon le test ne sert à rien

Discussions similaires

  1. [AC-2010] Filtrer les enregistrements par date avec une liste déroulante
    Par sardaucar dans le forum IHM
    Réponses: 7
    Dernier message: 19/11/2013, 19h13
  2. Filtrer les enregistrements par date
    Par cisgeek dans le forum Langage
    Réponses: 4
    Dernier message: 16/05/2013, 16h53
  3. Réponses: 2
    Dernier message: 17/01/2012, 10h09
  4. Recuperer les derniers tuples enregistrés
    Par Esil2008 dans le forum Hibernate
    Réponses: 5
    Dernier message: 13/11/2008, 09h33
  5. [MySQL] Afficher les enregistrements par date
    Par coco204 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/11/2007, 14h34

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