これにより、名前がa〜zの文字で始まるすべてのアーティストが、そうでないアーティストの前に配置されます。
SELECT DISTINCT artist
FROM songs
ORDER BY artist REGEXP '^[a-z]' DESC, artist
オンラインで動作することを確認してください: sqlfiddle
ただし、わかりやすい順序で並べ替えられるように、簡略化された名前で2番目の列を格納することをお勧めします。
artists
artist | simplified_name
------------------------------------
&i | i
+NURSE | nurse
2007excalibur2007 | excalibur
simplified_name
の値 MySQLで簡単に生成することはできないため、汎用プログラミング言語を使用してすべてのアーティストを引き出し、簡略化された名前に変換してから、データベースに結果を入力することをお勧めします。
これが完了すると、次のクエリを使用できます:
SELECT DISTINCT artist
FROM artists
ORDER BY simplified_name