Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
970 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Recupérer les lignes ou les dates sont les plus récente

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recupérer les lignes ou les dates sont les plus récente

n°1873105
Sylver---
Not a geek. Just a human 2.0
Posté le 15-04-2009 à 09:49:46  profilanswer
 

Bonjour,
j'ai une table composé de 3 colonne : (exemple)
id, dateEvt, action
1 2008-01-02  a
2 2008-05-03  a
2 2009-01-04  b
3 2007-06-01  a
4 2005-12-10  a
4 2007-10-05  b
4 2008-10-14  b
5 2008-01-12  a
5 2005-01-01  a
 
A partir de cette requete, j'obtiens tout les id qui ont une action a et pas d'action b.
SELECT id, dateEvt FROM evt WHERE action = 'a' AND id NOT IN (SELECT id FROM evt WHERE action = b;
J'aimerais que lorsque le même id a plusieurs action identique (à savoir dans l'ex : 5), ne retrouver que la ligne correspondant à la dateEvt la plus récente.
 
Auriez vous une idée ?
 
Merci :jap:


---------------
Aloha
mood
Publicité
Posté le 15-04-2009 à 09:49:46  profilanswer
 

n°1873127
olivthill
Posté le 15-04-2009 à 10:25:56  profilanswer
 

Il faudrait une sous requête sur le max de la date.
Ce qui donnerait :

SELECT e1.id, e1.dateEvt
  FROM evt e1
 WHERE e1.action = 'a'
   AND e1.id NOT IN
        (SELECT e2.id FROM evt e2
         WHERE e2.action = 'b')
   AND e1.dateEvt IN
        (SELECT max(e3.dateEvt) FROM evt e3
         WHERE e3.id = e1.id);

N.B. Pour éviter les confusions, j'ai préfixé chaque champ avec un alias (e1, e2, ou e3) du nom de la table.

n°1873147
Sylver---
Not a geek. Just a human 2.0
Posté le 15-04-2009 à 10:53:22  profilanswer
 

En fait, cette requete suffit :
SELECT id, MAX(dateEvt) FROM evt WHERE action = 'a' AND id NOT IN (SELECT id FROM evt WHERE action = b GROUP BY id;  
 
Merci :d


---------------
Aloha

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Recupérer les lignes ou les dates sont les plus récente

 

Sujets relatifs
Recuperer ligne de fichier dans variables séparéesSupprimer plusieurs lignes dans une sélection
Recuperer / afficher élément sur evenement onclickrécupérer le nom des colonnes d'une bdd
Récupèrer l'extention d'un fichier en phpAfficher les lignes d'une matrice
Export xls ou csv dépassant la limite des lignes ExcelRécupérer un graphique dynamique
Création macro pour un fichier Excel de 600p et 13000 lignesRécupérer type champ via son Id
Plus de sujets relatifs à : Recupérer les lignes ou les dates sont les plus récente


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR