Maison >base de données >tutoriel mysql >Comment trier les résultats MySQL à l'aide de la méthode IN() et maintenir l'ordre ?

Comment trier les résultats MySQL à l'aide de la méthode IN() et maintenir l'ordre ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-23 11:41:34980parcourir

How to Order MySQL Results Using the IN() Method and Maintain Order?

Résultats de classement MySQL à l'aide de la méthode IN()

Lorsque vous travaillez avec un tableau PHP contenant des numéros d'identification ordonnés, il peut être nécessaire de récupérer les enregistrements correspondants d'une base de données MySQL tout en préservant l'ordre spécifié. Ceci peut être réalisé en utilisant la méthode MySQL IN(). Cependant, la méthode IN() ne conserve généralement pas l'ordre des ID dans le résultat.

Solution : Utilisation de la fonction FIELD()

Pour résoudre ce problème , on peut utiliser la fonction MySQL FIELD(). Bien qu'elle soit traditionnellement associée à la manipulation de chaînes, la fonction FIELD() peut également être utilisée efficacement avec des nombres :

ORDER BY FIELD(field_name, 3,2,5,7,8,1)

Dans cet exemple, la clause ORDER BY utilise la fonction FIELD() pour réorganiser les résultats en fonction du ordre spécifié entre parenthèses, garantissant que les enregistrements renvoyés correspondent à la séquence d'ID dans le tableau PHP.

Par exemple, si field_name contient les numéros d'ID dans l'ordre suivant : 9, 4, 5, 8, 3, le résultat sera trié comme tel :

4 - Article 4
9 - Article 9
5 - Article 5
8 - Article 8
3 - Article 3

En incorporant la fonction FIELD() dans la clause ORDER BY, les développeurs peuvent récupérer efficacement les résultats ordonnés à l'aide de MySQL IN (), même lorsque vous travaillez avec des valeurs d'identification numériques.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn