2010-10-11 4 views
0

Si DOB est donné dans ce porder-1853-03-12, alors comment trouver la personne la plus jeune à partir des bases de table sur ce type de données. Si l'année est la même mais le mois est différent pour 2 personnes.requête mysql sur dob

J'ai essayé MIN (dob) - ça me donne la personne la plus âgée et quand j'ai essayé MAX, ça ne me donne rien.

+0

Impossible de répondre sans détails sur la structure de votre table. Je ne sais pas pourquoi MAX donne "rien" - quelque chose mérite d'être étudié, je pense - mais une solution de contournement sale serait toujours "ORDER BY dob DESC LIMIT 0,1" –

+0

pourriez-vous vérifier quel est le 'type' de la colonne? Si c'est une colonne 'date', alors min/max devrait fonctionner en conséquence. – anirvan

+0

le type de dob est DATE. Je reçois toujours la même valeur que je recevais auparavant avec la fonction MIN. Afin de trouver le plus jeune, je dois utiliser la fonction MAX.BUt il ne produit pas de résultat avec cette requête –

Répondre

0

Il est bizarre, vous pouvez cependant utiliser ORDER BY dob DESC LIMIT 1

Quelle est votre requête complète?

EDIT: résolus par email ^^

+0

Je l'ai utilisé, mais toujours obtenir l'ancienne valeur –

+0

Certainement bizarre. Quelle est la structure de vos tables et votre requête? – MatTheCat

+0

Je ne peux pas coller la requête ici car c'est un hw et n'importe qui peut copier ma requête d'ici. J'ai 2 fichiers et il y a plusieurs colonnes dedans. J'ai besoin de la plus petite dob pour restreindre ma requête pour effectuer une fonction spécifique. SI tu dis, je peux t'envoyer ma requête. –

0

MAX devrait usualy faire le travail. peut-être avez-vous des ensembles de données avec la valeur NULL dans cette colonne? une chose que vous pourriez essayer est ORDER BY dob DESC et LIMIT 1.