Datensätze sortieren mit FIND_IN_SET

Für dieses Beispiel wurde eine MySSQL-Tabelle mit dem Namen „Spiele“ angelegt. Die Einträge in dieser Tabelle wurden beim Anlegen alphabetisch nach dem Wochentag angelegt:

MySQL-Tabelle „Spiele“

idWochentagSpiel
1Dienstagkein Spiel
2Donnerstagkein Spiel
3FreitagEurojackpot
4MittwochMittwochslotto
5Montagkein Spiel
6SamstagSamstagslotto
7Sonntagkein Spiel

Mit der MySQL-Funktion „FIND_IN_SET“ kann das Ergebnis einer mySQL-Abfrage in der richtigen Reihenfolge der Wochentage sortiert werden:

SELECT * FROM Spiele
ORDER BY FIND_IN_SET( Wochentag, 'Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag,Sonntag' );

Ergebnis der MySQL-Abfrage

idWochentagSpiel
5Montagkein Spiel
1Dienstagkein Spiel
4MittwochMittwochslotto
2Donnerstagkein Spiel
3FreitagEurojackpot
6SamstagSamstagslotto
7Sonntagkein Spiel

Die Funktion „FIND_IN_SET“ weißt beim Aufruf jedem übergebenden Wert einen numerischen Wert (beginnend bei 1) zu. Daher können die Ergebnisse nach den numerischen Wert sortiert werden.