Maison > base de données > tutoriel mysql > Comment trier les résultats d'une requête PostgreSQL par ordre de valeurs dans une clause IN ?

Comment trier les résultats d'une requête PostgreSQL par ordre de valeurs dans une clause IN ?

Patricia Arquette
Libérer: 2025-01-19 10:56:09
original
177 Les gens l'ont consulté

How to Sort PostgreSQL Query Results by the Order of Values in an IN Clause?

Trier les résultats par liste de valeurs IN dans PostgreSQL

Dans PostgreSQL, la clause ORDER BY agit généralement sur les colonnes d'une table. Cependant, il peut également être utilisé pour imposer un classement basé sur des références externes (telles que les clauses IN).

Pour garantir que les résultats de la requête correspondent à l'ordre de la liste des valeurs IN, vous pouvez utiliser la construction VALUES() introduite dans PostgreSQL 8.2.

Solution :

Créez une table temporaire ou une expression de table commune (CTE) pour mapper les valeurs IN à l'ordre de tri souhaité :

<code class="language-sql">WITH Ordering AS (
  VALUES
    (1,1),
    (3,2),
    (2,3),
    (4,4)
)</code>
Copier après la connexion

Joignez la table principale à cette table temporaire et alias-la en x :

<code class="language-sql">SELECT c.*
FROM comments c
JOIN Ordering x ON c.id = x.id
ORDER BY x.ordering</code>
Copier après la connexion

En référençant la colonne ORDER BY dans la table temporaire dans la clause ordering, les résultats seront triés dans l'ordre spécifié dans la clause 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal