Maison >base de données >tutoriel mysql >Comment trier les résultats dans le même ordre que les valeurs de la clause « IN » dans MySQL ?
Ordre des résultats à l'aide d'une clause "IN" dans MySQL
Lors de la sélection de données dans une grande table à l'aide d'une clause "IN", il est il est souvent souhaitable d'ordonner les résultats dans le même ordre que les valeurs spécifiées.
Une solution potentielle pour maintenir l'ordre consiste à construire une table temporaire et à effectuer une jointure. Cependant, cette méthode peut s'avérer inefficace pour les grands ensembles de données.
Une approche plus efficace consiste à utiliser la fonction FIELD() de MySQL dans la clause ORDER BY. La requête suivante illustre cette technique :
SELECT * FROM your_table WHERE id IN (5,2,6,8,12,1) ORDER BY FIELD(id,5,2,6,8,12,1);
La fonction FIELD() renvoie la position d'une valeur dans une liste spécifiée. En l'utilisant dans la clause ORDER BY, les résultats seront triés dans le même ordre que les valeurs répertoriées dans la clause "IN".
Cette solution offre un moyen efficace de maintenir l'ordre lors de la sélection des données à l'aide d'un " IN", en particulier pour les grands ensembles de données.
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!