Prioritätssortierung bestimmter Feldwerte in MySQL
In MySQL können Sie Datensätze mit bestimmten Feldwerten bevorzugt anzeigen. Wenn Ihre Tabelle beispielsweise ID-, Namens- und Prioritätsspalten enthält, möchten Sie möglicherweise Datensätze mit name="core" zuerst anzeigen, unabhängig von ihrer Priorität.
Sie können die FIELD-Funktion von MySQL verwenden, um dies zu erreichen:
Vollständige Sortierung aller Werte:
<code class="language-sql">SELECT id, name, priority FROM mytable ORDER BY FIELD(name, "core", "board", "other");</code>
Dadurch werden die Ergebnisse in der im FIELD()-Parameter angegebenen Reihenfolge sortiert, mit „Kern“ zuerst, „Board“ als nächstes und „Andere“ zuletzt.
Nur „Kern“-Werte werden priorisiert:
Wenn Sie nur „Kern“ priorisieren möchten und sich nicht um die Reihenfolge der anderen Werte kümmern möchten:
<code class="language-sql">SELECT id, name, priority FROM mytable ORDER BY FIELD(name, "core") DESC;</code>
DESC-Reihenfolge stellt sicher, dass die „Kern“-Zeile an erster Stelle steht.
Benutzerdefinierte Sortierung und reguläre Sortierung kombinieren:
Alternativ können Sie die benutzerdefinierte Sortierung nach „Kern“ mit der regulären Sortierung nach anderen Feldern kombinieren:
<code class="language-sql">SELECT id, name, priority FROM mytable ORDER BY FIELD(name, "core") DESC, priority;</code>
Dadurch werden die „Kern“-Zeilen priorisiert und dann die verbleibenden Zeilen nach Priorität sortiert.
Hinweis:
Das obige ist der detaillierte Inhalt vonWie ordne ich MySQL-Ergebnisse zuerst mit einem bestimmten Feldwert an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!