Les 4 derniers plus petits des enregistrement

Résolu
t671 Messages postés 1478 Date d'inscription   Statut Membre Dernière intervention   -  
t671 Messages postés 1478 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.

4 réponses

  1. A.Nonymous
     
    select id from individus WHERE date_naissance != ' ' order by RIGHT(date_naissance, 4) DESC;
    0
  2. t671 Messages postés 1478 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
    1. 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
  3. t671 Messages postés 1478 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
  4. t671 Messages postés 1478 Date d'inscription   Statut Membre Dernière intervention   11
     
    Oupssss .............
    Effectivement, j'avais un bug dans mon champs ...............
    Maintenant, c'est ok !
    Merci !
    0