Ver Mensaje Individual
  #15 (permalink)  
Antiguo 15/07/2009, 11:06
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Problema al querer ordenar por id

Definitivamente debes estar haciendo algo mal. Independiente que sea varchar, el ordena correctamente registros numéricos.

Código sql:
Ver original
  1. mysql> CREATE TABLE orden_id(id VARCHAR(2),nombre text);
  2. Query OK, 0 ROWS affected (0.05 sec)
  3.  
  4. mysql> INSERT INTO orden_id VALUES('1','nombre1');
  5. Query OK, 1 ROW affected (0.00 sec)
  6.  
  7. mysql> INSERT INTO orden_id VALUES('4','nombre4');
  8. Query OK, 1 ROW affected (0.00 sec)
  9.  
  10. mysql> INSERT INTO orden_id VALUES('2','nombre2');
  11. Query OK, 1 ROW affected (0.01 sec)
  12.  
  13. mysql> INSERT INTO orden_id VALUES('3','nombre3');
  14. Query OK, 1 ROW affected (0.00 sec)
  15.  
  16. mysql> SELECT *FROM orden_id;
  17. +------+---------+
  18. | id   | nombre  |
  19. +------+---------+
  20. | 1    | nombre1 |
  21. | 4    | nombre4 |
  22. | 2    | nombre2 |
  23. | 3    | nombre3 |
  24. +------+---------+
  25. 4 ROWS IN SET (0.00 sec)
  26.  
  27. mysql> SELECT *FROM orden_id ORDER BY id;
  28. +------+---------+
  29. | id   | nombre  |
  30. +------+---------+
  31. | 1    | nombre1 |
  32. | 2    | nombre2 |
  33. | 3    | nombre3 |
  34. | 4    | nombre4 |
  35. +------+---------+
  36. 4 ROWS IN SET (0.00 sec)
  37.  
  38. mysql> SELECT *FROM orden_id ORDER BY CAST(id AS UNSIGNED);
  39. +------+---------+
  40. | id   | nombre  |
  41. +------+---------+
  42. | 1    | nombre1 |
  43. | 2    | nombre2 |
  44. | 3    | nombre3 |
  45. | 4    | nombre4 |
  46. +------+---------+
  47. 4 ROWS IN SET (0.00 sec)
  48.  
  49. mysql>
__________________
Without data, You are another person with an opinion.
W. Edwads Deming