Maison > base de données > tutoriel mysql > le corps du texte

Comment récupérer des lignes dans un ordre spécifique à l'aide de la clause WHERE IN ?

DDD
Libérer: 2024-10-26 15:31:30
original
229 Les gens l'ont consulté

How to Retrieve Rows in a Specific Order Using the WHERE IN Clause?

Récupérer les lignes dans l'ordre spécifié à l'aide de la clause WHERE IN

Lors de l'interrogation de données à l'aide de la clause WHERE IN, les lignes sont généralement renvoyées par ordre croissant ordre en fonction du champ spécifié dans la clause. Cependant, il peut y avoir des cas où vous devez récupérer les lignes dans l'ordre exact dans lequel elles apparaissent dans la clause WHERE.

Cela peut être réalisé en utilisant la fonction ORDER BY FIELD. La fonction FIELD renvoie la position d'une valeur spécifiée dans une liste séparée par des virgules. En utilisant cette fonction, vous pouvez trier les lignes selon l'ordre des valeurs répertoriées dans la clause WHERE IN.

Exemple :

Considérez la requête suivante :

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

Cette requête renvoie les lignes classées par ID dans l'ordre croissant. Pour récupérer les lignes dans l'ordre précisé dans la clause IN, on peut modifier la requête comme suit :

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

La fonction ORDER BY FIELD prend deux paramètres :

  • Le champ à trier
  • Une liste de valeurs séparées par des virgules dans l'ordre dans lequel elles doivent apparaître dans le résultat

Dans ce cas, nous trions les lignes par le champ id, et le les valeurs de la liste séparées par des virgules spécifient l'ordre dans lequel les lignes doivent être renvoyées.

En utilisant la fonction ORDER BY FIELD, vous pouvez vous assurer que les lignes sont renvoyées dans l'ordre exact spécifié dans la clause WHERE IN .

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