Maison >base de données >tutoriel mysql >Comment trier les enregistrements MySQL par une séquence spécifique à l'aide de IN() ?
Classement MySQL par séquence spécifiée à l'aide de IN()
Cette question tourne autour de la récupération des enregistrements de base de données dans un ordre spécifique en fonction d'un tableau d'identifiants fourni en PHP. Le défi est de s'assurer que les résultats correspondent à l'ordre des identifiants dans la méthode IN().
Pour y parvenir, la solution recommandée utilise la fonction FIELD. Bien que principalement destiné à la manipulation de chaînes, FIELD fonctionne également de manière transparente avec des valeurs numériques. En utilisant la fonction FIELD dans la clause ORDER BY, vous pouvez spécifier explicitement l'ordre souhaité des enregistrements.
Par exemple, considérons l'instruction SQL suivante :
ORDER BY FIELD(field_name, 3,2,5,7,8,1)
Dans cette instruction, field_name représente la colonne contenant les ID. Les nombres entre parenthèses représentent l'ordre dans lequel les enregistrements doivent être récupérés. Par conséquent, si la colonne field_name contient les valeurs (3,2,5,7,8,1), les enregistrements seront renvoyés dans l'ordre : 3, 2, 5, 7, 8, 1.
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!