Heim >Datenbank >MySQL-Tutorial >Wie ordne ich PostgreSQL-Abfrageergebnisse basierend auf der Reihenfolge der Werte in einer IN-Liste?
PostgreSQL-Abfrageergebnisse nach der Reihenfolge der Werte in der IN-Liste sortieren
In PostgreSQL können Sie mit der IN-Struktur in der WHERE-Klausel eine Reihe von Werten angeben, die einer Spalte entsprechen. Allerdings kann das Sortieren der Ergebniszeilen nach der Reihenfolge der Werte in der IN-Liste eine Herausforderung sein.
Glücklicherweise führt PostgreSQL 8.2 die VALUES()-Struktur ein, mit der Sie eine virtuelle Tabelle mit bestimmten Werten und einer bestimmten Reihenfolge erstellen können. Dadurch können wir die Ergebnisse nach der Reihenfolge der Werte in der IN-Liste sortieren.
Um dies zu erreichen, verwenden Sie die folgende Syntax:
<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>
In diesem Beispiel verwenden wir die Struktur VALUES(), um eine virtuelle Tabelle mit dem Namen „x“ zu erstellen. Jede Zeile in dieser virtuellen Tabelle repräsentiert einen Wert in der IN-Liste und die entsprechende Reihenfolge. Anschließend verbinden wir die „Kommentar“-Tabelle mit der „x“-Tabelle basierend auf der „id“-Spalte und sortieren die Ergebnisse nach der „ordering“-Spalte. Dadurch wird sichergestellt, dass die abgerufenen Zeilen in der in der IN-Liste angegebenen Reihenfolge sortiert werden: (1,3,2,4).
Das obige ist der detaillierte Inhalt vonWie ordne ich PostgreSQL-Abfrageergebnisse basierend auf der Reihenfolge der Werte in einer IN-Liste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!