Mysql : placer arbitrairement un élément en fin de liste ou en début de liste
Vous disposez d’une requête dans une table, et vous voulez récupérer la liste triée par nom, mais dont un des noms doit apparaître en dernier ?
Imaginons une table « auteur » contenant un id et un nom. Vous voulez afficher une liste de nom par ordre alphabétique mais vous avez un auteur « divers », qui a ici l’id 120, et vous voulez placer cet élément unique en fin de liste.
SELECT id, nom, prenom FROM `auteur` WHERE 1 order by find_in_set(id ,120 ) asc , nom asc
Dans ce premier exemple l’élement d’id = 120 est placé en fin de liste grâce à « ASC »
Vous pouvez le placer en début de liste ainsi :
SELECT id, nom, prenom FROM `auteur` WHERE 1 order by find_in_set(id ,120 ) desc , nom asc
Laisser un commentaire