Dette vil sætte alle de kunstnere, hvis navne begynder med et bogstav i a-z før dem, der ikke gør det:
SELECT DISTINCT artist
FROM songs
ORDER BY artist REGEXP '^[a-z]' DESC, artist
Se det fungere online:sqlfiddle
Men du foretrækker måske at gemme en anden kolonne med det forenklede navn, så du kan placere dem i en rækkefølge, der giver mere mening:
artists
artist | simplified_name
------------------------------------
&i | i
+NURSE | nurse
2007excalibur2007 | excalibur
Værdierne for simplified_name
kan ikke nemt genereres i MySQL, så du vil måske bruge et programmeringssprog til generelle formål til at trække alle kunstnerne ud, transformere dem til forenklede navne og derefter udfylde databasen med resultaterne.
Når dette er gjort, kan du bruge denne forespørgsel:
SELECT DISTINCT artist
FROM artists
ORDER BY simplified_name