Herausforderung:
Sie haben eine MySQL-Tabelle, die eine Liste von Elementen enthält, und Sie müssen diese Liste so anzeigen, dass ein bestimmtes Element immer oben erscheint, unabhängig von der ursprünglichen Reihenfolge.
Ansatz:
MySQLs ORDER BY
-Klausel bietet die Lösung. Mit dieser Klausel können Sie Ihre Ergebnisse nach bestimmten Bedingungen sortieren. Lassen Sie uns dies anhand eines Beispiels veranschaulichen:
Angenommen, Sie haben eine friends
-Tabelle mit den Spalten id
und name
. Um das Element mit id = 5
zu priorisieren, können Sie die folgende Abfrage verwenden:
<code class="language-sql">SELECT id, name FROM friends ORDER BY id = 5 DESC;</code>
Diese Abfrage funktioniert, indem zuerst id = 5
ausgewertet wird. Zeilen, in denen diese Bedingung wahr ist (d. h. id
ist 5), erhalten den Wert 1 (WAHR). Alle anderen Zeilen erhalten den Wert 0 (FALSE). Der Modifikator DESC
sortiert diese Ergebnisse dann in absteigender Reihenfolge und platziert die Zeile mit id = 5
(Wert 1) oben.
Für eine genauere Reihenfolge der verbleibenden Artikel verwenden Sie diese Abfrage:
<code class="language-sql">SELECT id, name FROM friends ORDER BY id = 5 DESC, id ASC;</code>
Dies priorisiert id = 5
wie zuvor. Anschließend werden die verbleibenden Elemente (id != 5
) in aufsteigender Reihenfolge basierend auf ihren id
-Werten sortiert.
Diese Technik bietet eine einfache und effiziente Möglichkeit, priorisierte Listen in Ihrer MySQL-Datenbank zu verwalten.
Das obige ist der detaillierte Inhalt vonWie priorisieren Sie bestimmte Elemente in MySQL -bestellten Listen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!