Heim >Datenbank >MySQL-Tutorial >Wie kann ich SQL-Ergebnisse so anordnen, dass sie mit der Reihenfolge der Werte in einer IN-Liste übereinstimmen?
Ordnen Sie die Ergebnisse in der Reihenfolge der IN-Liste
In SQL besteht ein häufiges Szenario darin, den IN-Operator zu verwenden, um Daten basierend auf einem angegebenen Wertesatz abzurufen. In diesem Fall möchten Sie die Ergebnisse möglicherweise in der Reihenfolge in der IN-Liste anordnen.
In PostgreSQL-Versionen vor 8.4 bestand eine Möglichkeit, diese Sortierung zu erreichen, darin, eine korrelierte Unterabfrage zu verwenden. Für 8.2 und höher ist jedoch ein effizienterer Ansatz verfügbar:
VALUES-Funktion
PostgreSQL hat in Version 8.2 die VALUES-Funktion eingeführt, die die Erstellung von In-Memory-Tabellen ermöglicht. Mit dieser Funktion kann eine temporäre Tabelle erstellt werden, die die gewünschte Reihenfolge der Werte enthält:
<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 dieser Abfrage:
Das obige ist der detaillierte Inhalt vonWie kann ich SQL-Ergebnisse so anordnen, dass sie mit der Reihenfolge der Werte in einer IN-Liste übereinstimmen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!