Ini akan menempatkan semua artis yang namanya dimulai dengan huruf a-z sebelum mereka yang tidak:
SELECT DISTINCT artist
FROM songs
ORDER BY artist REGEXP '^[a-z]' DESC, artist
Lihat itu bekerja online:sqlfiddle
Tetapi Anda mungkin lebih suka menyimpan kolom kedua dengan nama yang disederhanakan sehingga Anda dapat mengaturnya dalam urutan yang lebih masuk akal:
artists
artist | simplified_name
------------------------------------
&i | i
+NURSE | nurse
2007excalibur2007 | excalibur
Nilai untuk simplified_name
tidak dapat dibuat dengan mudah di MySQL, jadi Anda mungkin ingin menggunakan bahasa pemrograman tujuan umum untuk mengeluarkan semua artis, mengubahnya menjadi nama yang disederhanakan, lalu mengisi database dengan hasilnya.
Setelah ini selesai, Anda dapat menggunakan kueri ini:
SELECT DISTINCT artist
FROM artists
ORDER BY simplified_name