viernes, 28 de noviembre de 2014

Ordenar columna alfanumérica de tabla en MySql

Para ordenar una columna de tipo VARCHAR con valores Alfanuméricos, donde el valor inicia por un valor numérico seguido o no de una letra del alfabeto, por ejemplo:

Codigo
Valor
19
1
20
2
21
3B
22
3A
23
4
24
5
25
12
26
7
27
6A
28
6B
29
8
30
9
31
10
32
11A
33
11C
34
11B

El campo Codigo indica el orden de registro de los valores. Pero se desea ordenar segun el campo Valor teniendo en cuenta q el orden lo determina el número inicial del campo y en caso que se encuentren valores iguales la letra lo determinara en orden alfabético. Tal cual se aprecia a continuación:


Codigo
Valor
19
1
20
2
22
3A
21
3B
23
4
24
5
27
6A
28
6B
26
7
29
8
30
9
31
10
32
11A
34
11B
33
11C
25
12

Para realizarlo se utilizó la consulta sql:

SELECT Codigo, Valor FROM Prueba ORDER BY Valor + 0, Valor;