Tri des résultats selon l'ordre de la clause WHERE IN
Lors de l'utilisation de la clause WHERE IN dans SQL, les résultats sont généralement classés selon l'ordre naturel de la colonne ordre (généralement croissant). Cependant, dans certains scénarios, vous préférerez peut-être que les lignes soient renvoyées dans le même ordre que celui spécifié dans la clause IN.
Solution : Classement par champ
Pour trier lignes selon l'ordre spécifié dans la clause WHERE IN, vous pouvez utiliser la fonction ORDER BY FIELD. Cette fonction prend deux arguments :
Dans ce cas, vous pouvez utiliser la requête suivante pour trier les résultats par colonne ID, dans l'ordre spécifié dans la clause IN :
SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72)
ORDER BY FIELD(id, 118, 17, 113, 23, 72);
Cette requête renverra les lignes dans l'ordre suivant : 118, 17, 113, 23, 72.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3