Salut chlock62.
Je ne comprends pas ce que vous essayez de faire.
Si je prends dans vos exemple le couple (NumEmploye, CodePole), il n'y a pas d'erreur dans les valeurs.
Il y a juste à l'affichage un ordre différent. Est-ce de cet ordre dont il est question ?
Quand vous faites :
SELECT * FROM `intervenant`
L'ordre d'apparition est celui conditionné par votre "primary key".
Comme vous n'avez pas communiqué le descriptif de la table, on peut supposer que l'ordre est celui de la saisie.
Vous redonnez le même exemple, mais basé sur le moteur "MyIsam", qui doit avoir une "primary key" différente, et je suppose basée sur la colonne "NumEmploye".
Dans votre troisième exemple, votre requête est mal écrite en MySql.
SELECT CodePole, NumEmploye FROM `intervenant` group by CodePole;
Le "group by" doit se faire sur des colonnes, ce que vous faites, mais en dehors du "group by", vous devez indiquer une fonction de regroupement, ce qui n'est pas le cas ici dans votre exemple.
Si vous désirez trier votre résultat, il suffit d'ajouter "order by" et le nom de la colonne. Ce qui donne :
SELECT CodePole, min(NumEmploye) FROM `intervenant` group by CodePole order by NumEmploye;
Or vous dites :

Envoyé par
chlock62
Nous voyons que normalement ma requete doit regrouper tout les codePole !!! ce n'est pas le cas
Qu'est-ce que vous entendez par "regrouper tous les "Codepole" ?
Vous ne devez pas avoir la même définition de regroupement que MySql.
Le regroupement se fait sur la colonne "CodePole" et en ce qui concerne la colonne "NumEmploye", vous aurez un seul exemplaire, celui qui sera sélectionné par la fonction que vous utiliserez.
Si vous désirez assembler tous les "NumEmploye" ayant le même "CodePole", il faut écrire :
SELECT NumEmploye, CodePole FROM `intervenant` group by NumEmploye, CodePole order by NumEmploye, CodePole;
@+
Partager