Maison >base de données >tutoriel mysql >Comment puis-je conserver l'ordre des lignes dans les requêtes conditionnelles à l'aide de la clause « WHERE IN » ?
Problème :
Lors de l'utilisation de la clause WHERE IN, les lignes sont généralement ordonnées ascendant par la colonne spécifiée dans la clause ORDER BY. Cependant, il existe des scénarios dans lesquels il est souhaité de conserver l'ordre des lignes tel que spécifié dans la clause IN.
Solution :
Pour y parvenir, vous pouvez utiliser le Fonction COMMANDE PAR CHAMP. Cette fonction réorganise les lignes en fonction de l'ordre spécifié dans ses arguments.
Exemple :
Considérez la requête suivante :
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
Cette requête renverra les lignes classées par identifiant par ordre croissant. Pour conserver l'ordre des lignes tel que spécifié dans la clause IN, vous pouvez utiliser la requête modifiée suivante :
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
En spécifiant l'ordre souhaité comme arguments de la fonction FIELD, les lignes seront réorganisées pour correspondre à cela commande.
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!