Rumah > pangkalan data > tutorial mysql > Bagaimana Mengisih Keputusan Pertanyaan PostgreSQL mengikut Susunan Nilai dalam Klausa IN?

Bagaimana Mengisih Keputusan Pertanyaan PostgreSQL mengikut Susunan Nilai dalam Klausa IN?

Patricia Arquette
Lepaskan: 2025-01-19 10:56:09
asal
178 orang telah melayarinya

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

Isih hasil mengikut senarai nilai IN dalam PostgreSQL

Dalam PostgreSQL, klausa ORDER BY biasanya bertindak pada lajur dalam jadual. Walau bagaimanapun, ia juga boleh digunakan untuk menguatkuasakan pesanan berdasarkan rujukan luaran (seperti klausa IN).

Untuk memastikan hasil pertanyaan sepadan dengan susunan senarai nilai IN, anda boleh menggunakan binaan VALUES() yang diperkenalkan dalam PostgreSQL 8.2.

Penyelesaian:

Buat jadual sementara atau ungkapan jadual biasa (CTE) untuk memetakan nilai IN ke susunan isihan yang diingini:

<code class="language-sql">WITH Ordering AS (
  VALUES
    (1,1),
    (3,2),
    (2,3),
    (4,4)
)</code>
Salin selepas log masuk

Sertai jadual utama ke jadual sementara ini dan aliaskan kepada x:

<code class="language-sql">SELECT c.*
FROM comments c
JOIN Ordering x ON c.id = x.id
ORDER BY x.ordering</code>
Salin selepas log masuk

Dengan merujuk lajur ORDER BY dalam jadual sementara dalam klausa ordering, keputusan akan diisih mengikut susunan yang dinyatakan dalam klausa IN.

Atas ialah kandungan terperinci Bagaimana Mengisih Keputusan Pertanyaan PostgreSQL mengikut Susunan Nilai dalam Klausa IN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan