Maison > base de données > tutoriel mysql > Comment puis-je conserver l'ordre lors de l'utilisation de la clause IN() de SQL ?

Comment puis-je conserver l'ordre lors de l'utilisation de la clause IN() de SQL ?

DDD
Libérer: 2025-01-20 14:53:08
original
327 Les gens l'ont consulté

How Can I Preserve Ordering When Using SQL's IN() Clause?

Utilisez la clause SQL IN() pour maintenir l'ordre

Lors du tri des résultats, il peut être difficile de garder les résultats cohérents avec l'ordre des valeurs spécifié dans la clause IN(). Ce problème peut être résolu à l’aide d’une sous-requête ou d’une table temporaire, mais existe-t-il une solution plus efficace ?

Dans MySQL, la fonction FIELD() fournit une option viable. En utilisant la fonction FIELD(), vous pouvez directement manipuler le tri en fonction de l'ordre des valeurs dans la clause IN().

<code class="language-sql">SELECT name, description, ...
FROM ...
WHERE id IN([ids, 无序])
ORDER BY FIELD(id, [ids, 有序])</code>
Copier après la connexion

La fonction FIELD() détermine l'index dans la liste fournie de la valeur passée comme premier argument. L'index renvoyé représente l'ordre des valeurs dans la liste.

Par exemple :

<code class="language-sql">FIELD('a', 'a', 'b', 'c')  -- 返回 1
FIELD('a', 'c', 'b', 'a')  -- 返回 3</code>
Copier après la connexion

En utilisant la fonction FIELD() et en conservant l'ordre correspondant des valeurs dans la clause IN() et la fonction FIELD(), vous pouvez efficacement rendre l'ordre des résultats cohérent avec 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