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
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 ?
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)
Make sure you enter the(*)required information where indicate.HTML code is not allowed
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
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 ?