Bonjour,
Je dispose d'une table avec les champs suivants :
siret | nom | fonction ------|-----|----------
222222| DDD | assistant
111111| AAA | directeur
111111| BBB | président
111111| CCC | assistant
222222| EEE | directeur
333333| GGG | directeur
333333| FFF | assistant |
Je souhaiterai trier par fonction (1. président, 2. directeur, 3. assistant) et n'avoir en sortie que le premier élément pour chaque siret.
Pour le tri, j'ai trouvé sous MySQL :
select * from ma_table ORDER BY siret, CASE WHEN fonction = 'président' THEN 1
WHEN fonction = 'directeur' THEN 2
WHEN fonction = 'assistant' THEN 3 |
A l'issue du tri, j'obtiens :
siret | nom | fonction ------|-----|----------
111111| BBB | président
111111| AAA | directeur
111111| CCC | assistant
222222| EEE | directeur
222222| DDD | assistant
333333| GGG | directeur
333333| FFF | assistant |
Reste que je voudrais obtenir à la fin uniquement :
siret | nom | fonction ------|-----|----------
111111| BBB | président
222222| EEE | directeur
333333| GGG | directeur |
Comment ne conserver que le premier élément de chaque siret trié sur la fonction ?
Merci d'avance pour vos idées, j'ai testé pas mal de choses mais je sèche !
Message édité par benj63 le 13-10-2022 à 15:44:02