MySQL - ORDER BY nach eigenem Text

Pinky

Erfahrenes Mitglied
Hallo,

in meiner Datenbank steht im Feld "Status" immer nur einer der drei Möglichkeiten:
- verify
- accepted
- rejected

Nun möchte ich eine SELECT-Ausgabe machen und den $sql-Output so sortieren, dass zuerst alle accepted-, anschliessend alle verify- und letzlich alle rejected-Einträge angezeigt werden.

Zur Zeit versuchte ich dies mit ORDER BY `status` ASC zu erreichen, doch da habe ich ja das Problem, dass er mir nach Alphabet sortiert. Eigentlich möchte ich sowas in diesem Sinne, weiss jedoch nicht, wie der MySQL-Befehl dazu heisst:

$sql = "SELECT * FROM `db` ORDER BY `status` = ('accepted', 'verify', 'rejected')"

Geht sowas irgendwie? Evt. mit Union?

Danke und Gruss
Euer Pinky
 
Geht relativ einfach mit FIELD().
SQL:
ORDER BY FIELD(`status`, 'accepted', 'verify', 'rejected')
 
Zuletzt bearbeitet von einem Moderator:
Yaslaw, vielen Dank. Genau das habe ich gesucht. Super, das mag ich so an Tutorials: die schnellen und kompetenten Antworten.

Tschüss
 

Neue Beiträge

Zurück