Select sans doublon avec date la plus recente

ironnyc Messages postés 12 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 13 janvier 2005 - 13 janv. 2005 à 20:33
Lord Mathius Messages postés 24 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 24 novembre 2005 - 28 janv. 2005 à 11:41
Bonjour a tous!
je cherche a faire une requete Select avec une base MySql sur la table suivante:


#Table "historique"
+-----+-------------+------------+
| Id | NumFonction | DateMaj |
+-----+-------------+------------+
| 1 | 1 | 2004-10-23 |
| 2 | 2 | 2005-01-03 |
| 3 | 3 | 2004-01-10 |
| 20 | 3 | 2004-12-31 |
| 21 | 3 | 2005-01-01 |
| 22 | 3 | 2005-01-10 |
| 29 | 3 | 2005-01-11 |
| 46 | 1 | 2005-01-12 |
+-----+-------------+------------+


je cherche a obtenir l'id(rien que l'Id me suffit) des enregistrement NumFonction les + recents.
voila le resultat que je souhaite obtenir:
+-----+-------------+------------+
| Id | NumFonction | DateMaj |
+-----+-------------+------------+
| 46 | 1 | 2005-01-12 |
| 29 | 3 | 2005-01-11 |
| 2 | 2 | 2005-01-03 |
+-----+-------------+------------+
moi j ai fait un SELECT trier par date DESC et ensuite un GROUP BY NumFonction
mais ca ne fonctionne pas.
si je dois faire plusieur requete pour arriver au resultat ca me derange pas.


merci de votre aide .
si vous avez besoin de + de renseignement dite le moi.

2 réponses

cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
17 janv. 2005 à 20:20
Avec un LIMIT sous MySQL

--------
SELECT * FROM TATABLE ORDER BY DateMaj LIMIT 3
--------
Regarde ici :
http://www.nexen.net/docs/mysql/annotee/select.php

Romelard Fabrice (Alias F___)
0
Lord Mathius Messages postés 24 Date d'inscription lundi 15 décembre 2003 Statut Membre Dernière intervention 24 novembre 2005
28 janv. 2005 à 11:41
Slt, je me suis batus pendant 3 jour pour faire ce que tu cherche.



voici la requette comment tu devrai la faire ( elle fonction sur SQL
Server j'ai pas my Sql pour verifier ) enfin la miene etait plus
compliquer car je devais faire ressortir le prix le moins cher par
article avec des contrainte de verification. enfin bon le principe
reste presque le meme.




SELECT id , NumFonction , (select top 1 DateMaj from historique
b where a.NumFonction = b.NumFonction order by datemaj desc )as DateTrier FROM historique a group by a.NumFonction


Lord Mathius
0
Rejoignez-nous