Select sur des enregistrement where date = max [Résolu]

Signaler
Messages postés
2
Date d'inscription
vendredi 18 février 2011
Statut
Membre
Dernière intervention
3 mars 2011
-
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
-
bonjour
bon voila j'ai un problème :)
supposant que ma table est la suivante :

nom prenom adresse date_v
-------------------------------------------------
xxx xxxxxx xxxxxxxxx 04/02/2011
xxx xxxxxx xxxxxxxxx 05/02/2011
xxx xxxxxx xxxxxxxxx 06/02/2011
xxx xxxxxx xxxxxxxxx 20/02/2011
xxx xxxxxx xxxxxxxxx 20/02/2011
xxx xxxxxx xxxxxxxxx 20/02/2011

je veux faire un select des ligne où la date est max ,

plz help :(

3 réponses

Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
Bonjour

select * from MaTable where date_v = (select max(date_v) from MaTable)
Messages postés
2
Date d'inscription
vendredi 18 février 2011
Statut
Membre
Dernière intervention
3 mars 2011

bonjour

votre réponse est très bonne merci

mais si date_v est déclarer comme chaine de caractère au lieu de date hummm

le max(date_v) ne donnera pas de résultat .
on peut faire une conversion de type ? du genre max(convert ........) ?
Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
Bonjour,

Ce n'est pas une très bonne idée de déclarer la date en tant que chaîne de caractères pour des raisons d'indexation et de représentation de la date selon les différents pays.

Mais si vous n'avez pas le choix, il reste possible de convertir la chaîne en date, la fonction de conversion dépendra de votre SGBD (sql server, sybase, oracle, etc...). Les performances seront moindres que si vous aviez un champ de type date ou datetime.