Maison > base de données > tutoriel mysql > Comment trier les lignes en fonction de l'ordre dans une clause WHERE IN ?

Comment trier les lignes en fonction de l'ordre dans une clause WHERE IN ?

DDD
Libérer: 2024-10-27 12:40:03
original
425 Les gens l'ont consulté

How to Order Rows Based on the Order in a WHERE IN Clause?

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 :

  • Le champ par lequel vous souhaitez trier les lignes (dans ce cas, le champ id)
  • Une liste de valeurs séparées par des virgules de WHERE IN clause

Par exemple, étant donné la requête suivante :

SELECT *
FROM table
WHERE id IN (118, 17, 113, 23, 72);
Copier après la connexion

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)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal