ORDER BY alphabet first then follow by number
Ref this
SELECT name FROM list ORDER BY name * 1 ASC
Edited
SELECT name FROM list ORDER BY name * 1, name ASC
You can try something like this:
SELECT
name
FROM
list
ORDER BY
IF(name REGEXP '^[0-9]', CONCAT('zz',name),name) ASC
So if your name start with a digit you concatenate 'zz' in the beginning (so that it will be last)
Use the following ORDER BY
clause:
ORDER BY IF(name RLIKE '^[a-z]', 1, 2), name