[SQL] aide avec la fonction MAX()

aide avec la fonction MAX() [SQL] - SQL/NoSQL - Programmation

Marsh Posté le 21-06-2007 à 17:51:30    

Bonjour
J'ai une table historique qui ressemble à ça :  
id (PK)
login
date_debut
date_fin
 
avec des enregistrements du style
1 user1 2006-01-03 2006-01-05
2 user2 2006-01-05 2006-01-09
3 user1 2006-01-07 NULL
4 user1 2006-02-13 2007-01-05
5 user2 2006-01-03 NULL
 
 
Je veux récuperer les lignes où la date_debut est la plus récente, et ce pour chaque login.
un

Citation :

SELECT login, MAX(date_debut) FROM historique GROUP BY login

marche bien, mais je cherche en fait à récupérer toutes les infos de la ligne : l'id et aussi la date de fin.
 
Idealement je cherche à avoir:  
2 user2 2006-01-05 2006-01-09
4 user1 2006-02-13 2007-01-05
 
est ce que ça inspire quelqu'un ?
 
 

Reply

Marsh Posté le 21-06-2007 à 17:51:30   

Reply

Marsh Posté le 21-06-2007 à 23:02:03    

Avec quelle base de données ? Oracle, MysSQL, Access, ... ?
 
Essayer :

SELECT H1.id, H1.login, H1.date_debut, H1.date_fin  
  FROM historique H1
 WHERE H1.date_debut IN
     (SELECT MAX(H2.date_debut) FROM historique H2
       WHERE H2.login = H1.login)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed