Trouver le champs minimum d'une table
Résolu/Fermé
t671
Messages postés
1467
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
21 janvier 2025
-
2 avril 2012 à 18:54
t671 Messages postés 1467 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 21 janvier 2025 - 3 avril 2012 à 10:34
t671 Messages postés 1467 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 21 janvier 2025 - 3 avril 2012 à 10:34
A voir également:
- Trouver le champs minimum d'une table
- Table ascii - Guide
- Table des matières word - Guide
- Trouver adresse mac - Guide
- Comment trouver le mot de passe wifi sur son téléphone - Guide
- Trouver un film sans le titre - Télécharger - Divers TV & Vidéo
2 réponses
Bonjour,
l'id n'est pas une valeur il est risqué de l'utiliser pour cela. Vous avez un identifiant en auto-incrément mais rien ne vous garantit que cet ordre respecte une logique croissante même si a priori l'enregistrement aura lieu dans un ordre croissant(mais des données pourront être effacées, d'autres ajoutées ou modifiées...). Votre modèle logique devrait comporter un champ date si vous voulez ce genre de classement et éviter les erreurs(donc vous retrouver avec une base inutilisable).
Pour obtenir le minimum vous pouvez utiliser la fonction sql MIN:
http://dev.mysql.com/doc/refman/5.0/fr/group-by-functions.html
ou faire un ORDER BY ASC(ascendant il l'est par défaut).
http://dev.mysql.com/doc/refman/5.0/fr/select.html
Vous devez apprendre le langage SQL , langage de bas niveau donc assez simple.
l'id n'est pas une valeur il est risqué de l'utiliser pour cela. Vous avez un identifiant en auto-incrément mais rien ne vous garantit que cet ordre respecte une logique croissante même si a priori l'enregistrement aura lieu dans un ordre croissant(mais des données pourront être effacées, d'autres ajoutées ou modifiées...). Votre modèle logique devrait comporter un champ date si vous voulez ce genre de classement et éviter les erreurs(donc vous retrouver avec une base inutilisable).
Pour obtenir le minimum vous pouvez utiliser la fonction sql MIN:
http://dev.mysql.com/doc/refman/5.0/fr/group-by-functions.html
ou faire un ORDER BY ASC(ascendant il l'est par défaut).
http://dev.mysql.com/doc/refman/5.0/fr/select.html
Vous devez apprendre le langage SQL , langage de bas niveau donc assez simple.
t671
Messages postés
1467
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
21 janvier 2025
11
3 avril 2012 à 10:34
3 avril 2012 à 10:34
En fait, si je veux une valeur de champs minimale, c'est simplement pour sortir un seul enregistrement, et peu importe lequel.
Après mon SElect, je fais un update, et cet update je ne veux le faire que sur un seul enregistrement, et peu importe lequel.
Ainsi, toutes les valeurs trouvées par le $select2 sont mises à jour à accueil='X', malgrès le min(idpj).
Après mon SElect, je fais un update, et cet update je ne veux le faire que sur un seul enregistrement, et peu importe lequel.
$id = $_GET["id"]; $select2 = "SELECT min(idpj),id_liaison,accueil FROM upload where id_liaison='$id'"; $result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() ); $total2 = mysql_num_rows($result2); if ($total2 > 1) { $reset=mysql_query("UPDATE upload SET accueil='X' WHERE id_liaison='$id'"; }
Ainsi, toutes les valeurs trouvées par le $select2 sont mises à jour à accueil='X', malgrès le min(idpj).