2012-04-02 40 views
5

Quiero encontrar el valor máximo en una columna.Ordenar un valor alfanumérico mysql

Los valores de columna son, E00004, A00005, B00011, H-00001, E2100112, EFQ20098, ESSF20003

sólo quiero ordenar los valores por su número, la mente Dont sobre los alfabetos . Tiene que ser así, estoy usando MySQL

E2100112, ESSF20003, EFQ20098, B00011, A00005, E00004, H-00001

Respuesta

3

Suponiendo que los 5 últimos dígitos son el número:

select columnName from tableName 
order by convert(int, right(columnName, 5)) desc 

Como se ha indicado @IkeWalker, el número puede tener un Arbit tamaño de rary Para ello, deberá usar un ciclo while para verificar el número.

O bien, puede hacer que una función lo haga por usted.

Check this article!

+0

Algunos de los números en el conjunto de datos de muestra son más de 5 dígitos. Uno de ellos tiene 7 dígitos. –

+0

@IkeWalker de hecho, he actualizado mi respuesta. –

Cuestiones relacionadas