Difficulté avec ma requete

cs_blackout Messages postés 5 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 16 janvier 2007 - 6 avril 2006 à 16:06
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 - 11 avril 2006 à 16:59
Bonjour,
Je rencontre une petite difficulté avec une requete sql.

J'ai 2 champs Nom et Date.
Le champ Date correspond à la date de création d'un Nom
J'essais en vain de récupérer le nom qui a le champ Date le plus récent.
De plus je peux avoir plusieurs meme Nom alors j'ai commencé une requete
Select distinct Nom from MaTable

Mais après pour récupérer le nom de celui qui à la Date la plus récente je suis perdu.
Quelqu'un peut -il m'aider ?

Merci d'avance.

4 réponses

Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
6 avril 2006 à 16:12
SELECT nom
FROM matable
ORDER BY date DESC

La première lecture te donne le dernier nom...
0
cs_blackout Messages postés 5 Date d'inscription samedi 19 avril 2003 Statut Membre Dernière intervention 16 janvier 2007
6 avril 2006 à 16:40
Merci cela fonctionne bien entendu mais j'ai un peu plus de 13000 enregistrements et augmentant chaque jour le temps d'execution de la requete fera de meme au fil du temps....

N'y a t-il pas un moyen de faire cela en 2 étapes ?
en premier lieu un distinct nom et après obtenir la date des noms trouvés.

Ensuite je me débrouillerais dans vb.net pour déterminer le plus récent.
0
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
6 avril 2006 à 19:06
en SQLServer :
SELECT TOP 1 nom
FROM matable
ORDER BY date DESC

en mySQL :
SELECT nom
FROM matable
ORDER BY date DESC
LIMIT 1


A priori... :o)
Et n'oublie pas de valider ;o)
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
11 avril 2006 à 16:59
salut

sinon, et pour tous les SGBDR :

SELECT nom
FROM matable
WHERE maDate = (SELECT MAX(maDate) FROM matable)

sauf pour les tres anciens MySQL qui ne supportent pas les requetes imbriquée.
0
Rejoignez-nous