2017-01-19 2 views
0

Ich habe eine Tabelle in einer MySQL-Datenbank.ORDER BY-Klausel basierend auf Wert - MySQL

Eine der Spalten trägt den Titel Failed und einige Zeilen haben den Wert Yes in ihnen.

Wie bestelle ich meine SELECT Abfrage, so dass es die Zeilen zeigt, die zuerst keinen Wert haben und dann die mit Yes als Wert am Ende zeigt?

+1

Was meinst du mit keinem Wert? ist es eine leere Zeichenfolge? –

+0

Ja, eine leere Zeichenfolge. – michaelmcgurk

Antwort

2

Nur ASC oder DESC verwenden, wenn auf dem Feld (e) Sie bestellen möchten bestellen. In diesem Fall versuchen:

ORDER BY Failed ASC 
+0

Ooooh das ist schön und ordentlich. Danke, Tom - wir werden es versuchen :-) – michaelmcgurk

+0

Ist es auch möglich, eine 2. ORDER BY zu haben, sollte es keine Werte im 'Failed' geben? Wie "id DESC"? – michaelmcgurk

+1

@michaelmcgurk Sie wetten! Fügen Sie einfach das Feld wie folgt hinzu: order by Failed ASC, ID DESC. Folgen Sie einfach jedem Feld mit einem Komma. –

2

Verwenden CASE in Order by

Order by case when col <> 'yes' then 2 else 1 end 
Verwandte Themen