recherche champ minimum enregistrement mysql - PHP - Programmation
Marsh Posté le 26-09-2011 à 09:07:40
ReplyMarsh Posté le 26-09-2011 à 09:39:12
flo850 a écrit : MIN( RIGHT(date_naissance, 4) ) |
Merci beaucoup flo850 .......
C'est ok !!!!!! Je n'avais trouvé nulle part pour écrire la commande de cette manière !
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
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 ...........
Message édité par t671 le 25-09-2011 à 17:46:50