Spowoduje to umieszczenie wszystkich artystów, których imiona zaczynają się od litery a-z przed tymi, którzy tego nie robią:
SELECT DISTINCT artist
FROM songs
ORDER BY artist REGEXP '^[a-z]' DESC, artist
Zobacz, jak działa online:sqlfiddle
Ale możesz chcieć przechowywać drugą kolumnę z uproszczoną nazwą, aby móc umieścić je w bardziej sensownej kolejności:
artists
artist | simplified_name
------------------------------------
&i | i
+NURSE | nurse
2007excalibur2007 | excalibur
Wartości dla simplified_name
nie można łatwo wygenerować w MySQL, więc możesz użyć języka programowania ogólnego przeznaczenia, aby wyciągnąć wszystkich artystów, przekształcić ich w uproszczone nazwy, a następnie wypełnić bazę danych wynikami.
Gdy to zrobisz, możesz użyć tego zapytania:
SELECT DISTINCT artist
FROM artists
ORDER BY simplified_name