Dies sollte Ihnen die größte Kontrolle darüber geben:
order by
case left(positions.colleague_position_id, 1)
when 'A' then 1
when 'F' then 2
when 'T' then 3
when 'S' then 4
when 'C' then 5
else 6
end, positions.colleague_position_id
Denn Sie können alle nicht übereinstimmenden Werte an die gewünschte Position (in diesem Fall am Ende) senden. Das field()
Funktion gibt 0
zurück für nicht übereinstimmende Werte und setzt sie an den Anfang der Ergebnismenge, noch vor diejenigen, die mit A
beginnen .
Zusätzlich können Sie auch nach positions.colleague_position_id
bestellen wie ich es im Beispiel getan habe, also für viele positions.colleague_position_id
die mit dem gleichen Buchstaben beginnen, sind trotzdem in der Reihenfolge.