Ordre des lignes selon la clause WHERE IN à l'aide de ORDER BY FIELD
Dans les requêtes de base de données, la clause WHERE IN vous permet de filtrer les données en fonction de une liste spécifiée de valeurs. Cependant, par défaut, les lignes renvoyées peuvent ne pas être dans le même ordre que celui spécifié dans la clause.
Pour trier les lignes selon l'ordre fourni dans la clause WHERE IN, vous pouvez utiliser ORDER BY FIELD( ) fonction. Cette fonction prend deux arguments :
Par exemple, étant donné la requête suivante :
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72);
Qui renvoie les lignes par ordre croissant par ID, vous pouvez utiliser la fonction ORDER BY FIELD() pour obtenir le lignes dans l'ordre spécifié dans la clause WHERE IN :
SELECT * FROM table WHERE id IN (118, 17, 113, 23, 72) ORDER BY FIELD(id, 118, 17, 113, 23, 72)
Dans cette requête, la fonction ORDER BY FIELD() trie les lignes par champ id, mais dans l'ordre spécifique de 118, 17, 113 , 23 et 72, comme spécifié dans la clause WHERE IN.
Grâce à cette technique, vous pouvez facilement trier les lignes selon l'ordre spécifié dans votre clause WHERE IN, en vous assurant qu'elles sont renvoyées dans l'ordre souhaité.
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!