Maison >base de données >tutoriel mysql >Comment puis-je trier les résultats SQL pour qu'ils correspondent à l'ordre des valeurs dans une liste IN ?
Organisez les résultats dans l'ordre de la liste IN
En SQL, un scénario courant consiste à utiliser l'opérateur IN pour récupérer des données en fonction d'un ensemble de valeurs spécifié. Dans ce cas, vous souhaiterez peut-être classer les résultats dans l’ordre de la liste IN.
Dans les versions de PostgreSQL antérieures à 8.4, une façon de réaliser ce tri consistait à utiliser une sous-requête corrélée. Cependant, pour la version 8.2 et supérieure, une approche plus efficace est disponible :
Fonction VALEURS
PostgreSQL a introduit la fonction VALUES dans la version 8.2, qui permet la création de tables en mémoire. Cette fonction peut être utilisée pour construire une table temporaire contenant l'ordre des valeurs souhaité :
<code class="language-sql">select c.* from comments c join ( values (1,1), (3,2), (2,3), (4,4) ) as x (id, ordering) on c.id = x.id order by x.ordering</code>
Dans cette requête :
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!