Ordem por enum no mysql

Considere que você tem o seguinte campo enum em uma tabela mysql.

my_enum_field enum('default','c', 'a', 'b')

Consultando a tabela como o seguinte:

SELECT * FROM my_table ORDER BY my_enum_field ASC;

A ordem dos resultados estará na ordem dos índices de enum e não no valor que significa os registros com.
myenumfield</code> value default</code> will appear before the the rest with second coming the c</code> value.In order to get the enum alphabetic order you need to castto a string like

SELECT * FROM my_table ORDER BY CAST(my_enum_field AS CHAR) ASC;