Wie werden MySQL-Ergebnisse zuerst nach Buchstaben und zuletzt nach Symbolen sortiert?

Langzeitleser, erstmaliges Poster hier.

Ich versuche herauszufinden, wie ich eine Liste von Künstlern für eine Musik-App sortieren kann, die ich schreibe.

Zum besseren Verständnis der Datenbankstruktur: Anstatt ein relationales System zu haben, bei dem jedes Lied in der Liedertabelle eine Künstler-ID hat, die auf eine Zeile in der Künstlertabelle verweist, habe ich einfach eine Liste von Liedern mit dem Namen des Künstlers als Zeichenfolge in einer Spalte . Ich benutze dannGROUP BY artist in einer MySQL-Abfrage, um eine Liste der einzelnen Interpreten zurückzugeben.

Meine App ruft diese Daten in Form eines JSON-codierten Arrays von meinem Server ab, das das Ergebnis der folgenden MySQL-Abfrage ist:

SELECT artist FROM songs GROUP BY artist ORDER BY artist ASC

Diese Abfrage führt jedoch dazu, dass Künstler mit Namen wie & i, + NURSE und 2007excalibur2007 vor den alphabetischen Ergebnissen sortiert werden (z. B. AcousticBrony, ClaireAnneCarr, d.notive usw.).

Was ich brauche, sind die Künstler, deren Namen mit zurückgegebenen Zahlen und Symbolen beginnennach dem die alphabetisch sortierte Künstlerliste.

Die Lösung kann PHP-basiert sein, aber ich würde es vorziehen, wenn die Eleganz in der MySQL-Abfrage erfolgt.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage