à l'intuition je ferais un truc comme ça ( j'ai appelé ta table test):
Code :
SELECT RES.* FROM test RES WHERE RES.date_arret = ( SELECT max(ARRET.date_arret) FROM test ARRET WHERE ARRET.no_contrat = RES.no_contrat) AND RES.debut = ( SELECT max(DEBUT.debut) FROM test DEBUT WHERE DEBUT.no_contrat = RES.no_contrat AND DEBUT.date_arret = RES.date_arret)
|
Les problèmes:
- je garantis pas que ça marche sur tous les SGBD ( mysql oui)
- c'est pas top niveau optimasation de la requête... surtout si ta table est grosse
- si tu as deux numéro de contrat ayant la même date_arret et le même début ( valant tous les deux le max possible), cela te remontera les 2 enregistrements
-