recherche champ minimum enregistrement mysql

recherche champ minimum enregistrement mysql - PHP - Programmation

Marsh Posté le 25-09-2011 à 17:03:25    

Bonjour,
 
Dans ma base, un enregistrement comporte le nom, la date de naissance (sous forme jj.mm.aaaa, ou aaaa, ou >aaaa, ou ~aaaa, .......).
 
Je veux afficher les noms commençant par "A". S'il y a plusieurs fois le même nom, je n'en affiche qu'un. Je veux également afficher le nombre de nom identique, et la date de naissance minimum en me basant sur l'année. C'est sur ce dernier critère que je pêche !!!!
 
Comme le fiormat des dates est différent, je pense que le mieux est de se baser sur l'année (aaaa), soit les 4 derniers caractères du champs. Mais ce que j'ai fait me sort la première année lue du premier enregistrement du nom similaire, et non la plus petite année.  :??:  
 

$select = 'SELECT nom,COUNT(*) AS nb, MIN(date_naissance), RIGHT(date_naissance, 4) AS min_age FROM ville WHERE nom like "A%" GROUP BY nom ORDER BY nom ASC';
 
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
 
while ($row = mysql_fetch_array($result))
 
{
 
echo '<tr>';
 
echo '<td>'.$row['nom'].'</td>';
 
echo '<td align="center">'.$row['nb'].'</td>';
 
echo '<td>'.$row['min_age'].'</td>';
 
echo '</tr>';
 
}


 
Merci de m'aider à trouver mon erreur ...........  :pt1cable:


Message édité par t671 le 25-09-2011 à 17:46:50
Reply

Marsh Posté le 25-09-2011 à 17:03:25   

Reply

Marsh Posté le 26-09-2011 à 09:07:40    

MIN( RIGHT(date_naissance, 4) )


---------------

Reply

Marsh Posté le 26-09-2011 à 09:39:12    

flo850 a écrit :

MIN( RIGHT(date_naissance, 4) )


 
Merci beaucoup flo850 .......  :bounce:  
C'est ok !!!!!! Je n'avais trouvé nulle part pour écrire la commande de cette manière !
 
 :hello:   :sol:

Reply

Marsh Posté le 29-09-2011 à 18:35:43    

Bonjour,
 
En restant sur ma ligne de commande  
 

$select = 'SELECT nom,COUNT(*) AS nb, MIN( RIGHT(date_naissance, 4) ) AS date FROM ville WHERE nom LIKE "'.mysql_real_escape_string($lettre).'%" GROUP BY nom ORDER BY nom ASC';


 
comment restreindre la recherche minimale "MIN( RIGHT(date_naissance, 4) ) AS date", en ne tenant pas compte des champs vide si un autre ne l'est pas   :??:  
Sinon, la valeur du SELECT est vide puisque considéré null ou 0 :(


Message édité par t671 le 29-09-2011 à 18:37:45
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed