Ist das nur ein einmaliges ORDER BY
oder etwas, das Sie oft und auf mehr Werte als hier angegeben tun wollen?
Die Reihenfolge, die Sie gegeben haben, ist willkürlich, also eine Kennung gegeben werden muss, um erreichen, was Sie
SELECT
ID,
Code,
CASE Code
WHEN 'Health' THEN 1
WHEN 'Phone' THEN 2
WHEN 'Freeze' THEN 3
WHEN 'Hot' THEN 4
END As OrderBy
FROM Table
ORDER BY
OrderBy
Oder
SELECT
ID,
Code
FROM Table
ORDER BY
CASE Code
WHEN 'Health' THEN 1
WHEN 'Phone' THEN 2
WHEN 'Freeze' THEN 3
WHEN 'Hot' THEN 4
END
(Ich bin nicht vertraut mit MySQL wollen, aber Das obige würde in SQL Server funktionieren. Die Syntax für MySQL wird nicht zu unterschiedlich sein)
Wenn Sie dies wahrscheinlich oft tun möchten Erstellen Sie dann eine OrderBy-Spalte in der Tabelle oder erstellen Sie eine OrderBy-Tabelle mit einem FK-Link zu dieser Tabelle, und geben Sie darin ein numerisches OrderBy-Feld an.
Warum ist Telefon zweimal dort? – pjp