ホームページ > データベース > mysql チュートリアル > IN リスト内の値の順序に基づいて PostgreSQL クエリ結果を並べ替える方法

IN リスト内の値の順序に基づいて PostgreSQL クエリ結果を並べ替える方法

Barbara Streisand
リリース: 2025-01-19 11:06:11
オリジナル
744 人が閲覧しました

How to Order PostgreSQL Query Results Based on the Order of Values in an IN List?

IN リスト内の値の順序に基づいて PostgreSQL クエリ結果を並べ替えます

PostgreSQL では、WHERE 句の IN 構造を使用して、列に一致する値のセットを指定できます。ただし、IN リスト内の値の順序に基づいて結果行を並べ替えるのは困難な場合があります。

幸いなことに、PostgreSQL 8.2 では VALUES() 構造が導入されており、これにより特定の値と順序を含む仮想テーブルを作成できるようになります。これにより、IN リスト内の値の順序に基づいて結果を並べ替えることができます。

これを実現するには、次の構文を使用します:

<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>
ログイン後にコピー

この例では、VALUES() 構造体を使用して、「x」という名前の仮想テーブルを作成します。この仮想テーブルの各行は、IN リストの値とそれに対応する順序を表します。次に、「id」列に基づいて「comments」テーブルを「x」テーブルと結合し、結果を「ordering」列で並べ替えます。これにより、取得された行が IN リスト (1,3,2,4) で指定された順序で並べられるようになります。

以上がIN リスト内の値の順序に基づいて PostgreSQL クエリ結果を並べ替える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート