Les 4 derniers plus petits des enregistrement

Résolu
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -  
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Dans ma bd, j'ai un champs date_naissance qui se termine par l'année (4 caractères numérique).
Je cherche l'id qui comprends le plus petit champs date_naissance, sans prendre en compte les champs vide !
J'ai essayé
$req2="select id from individus WHERE date_naissance != ' ' order by MIN(RIGHT(date_naissance, 4))";  
$res2=mysql_query($req2);  
$idmin2=mysql_result($res2,0); 

mais le résultat n'est pas correct !
Merci de votre aide.
A voir également:

4 réponses

A.Nonymous
 
select id from individus WHERE date_naissance != ' ' order by RIGHT(date_naissance, 4) DESC;
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Merci A.Nonymous, mais je ne trouve pas du tout le bon résultat !!!!
Et je ne vois pas pourquoi "CE" résultat ............... ????
0
A.Nonymous
 
Utilisant la fonction RIGHT(date_naissance,4) pour trouver l'année, je suppose que le champ "date_naissance" est un VARCHAR.
Forcément, utiliser un VARCHAR pour stocker des dates permet aussi de stocker des trucs qui ne sont pas des dates. Si ce n'est le bon résultat, c'est qu'il y a des données non-conformes.

Quel est "CE" résultat obtenu ?
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Effectivement, date_naissance est défini en VARCHAR car elle peut se trouver sous la forme :
1885
NOV 1885
27 DEC 1885
Vers 1885 ..........
et c'est pourquoi je me base sur les 4 derniers caractères (année).

Pour CE résultat obtenu, la requête me sort ce résultat, mais je ne sais pas pourquoi .............. ????
0
t671 Messages postés 1476 Date d'inscription   Statut Membre Dernière intervention   11
 
Oupssss .............
Effectivement, j'avais un bug dans mon champs ...............
Maintenant, c'est ok !
Merci !
0