Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

alguien tiene la solucion del Order BY?

Estas en el tema de alguien tiene la solucion del Order BY? en el foro de Mysql en Foros del Web. alguien tiene una solucion factible del order by? estuve más de 2 días sin dormir intentando hacer algo, y como siempre estoy seguro de que ...
  #1 (permalink)  
Antiguo 02/04/2007, 10:28
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 550
Antigüedad: 14 años
Puntos: 23
alguien tiene la solucion del Order BY?

alguien tiene una solucion factible del order by? estuve más de 2 días sin dormir intentando hacer algo, y como siempre estoy seguro de que debe aver una solucion demasiado fácil... porfavor, es de suma importancia, ya que por ejemplo MySQL nos devuelve este tipo de resultados

--------
-Count-
| 9 |
| 550 |
|1357 |
| 10 |
|-----|

de antemano gracias por cualquier respuesta
  #2 (permalink)  
Antiguo 02/04/2007, 10:52
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 14 años, 9 meses
Puntos: 33
De acuerdo Re: alguien tiene la solucion del Order BY?

1) Te sugiero que postees el código de tu consulta
2) Tu campo tiene que ser de tipo "Integer" o "Entero".

Saludillos.
  #3 (permalink)  
Antiguo 02/04/2007, 11:20
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 16 años
Puntos: 4
Re: alguien tiene la solucion del Order BY?

Eso de que la consulta que haces te devuelve un resultado que no debe ser:
Cita:
Iniciado por vb2005 Ver Mensaje
| 9 |
| 550 |
|1357 |
| 10 |
|-----|
es porque tu campo es de tipo cadena y mysql ordena estos campos en un orden lexicográfico que no se ordena en una forma que nosotros siempre hacemos y que se llama orden natural.
Un ejemplo de comparación de cadenas en función de un "orden lexicografico" es el siguiente: "9" es mayor que la cadena "550" porque 9 viene después de 5 (550).
Para resolver esto, es tan sencillo como utilizar la función CAST() de MySQL dentro de tu consulta. Si por ejemplo, tuvieramos un campo llamado contador y este es de typo VARCHAR cuando hacemos una consulta de este tipo:
Código PHP:
SELECT contador FROM caracteres ORDER BY contador DESC
Nos va a devolver un resultado igual al tuyo, y lo resolveremos de esta manera:
Código PHP:
SELECT contador FROM caracteres ORDER BY CASTcontador AS UNSIGNED DESC
dandonos como resultado:
|1357|
| 550 |
| 10 |
| 9 |
|-----|
Espero que haberme dado a entender y que esto te haya servido por lo menos para darte una idea. Suerte
  #4 (permalink)  
Antiguo 02/04/2007, 20:19
Avatar de vb2005  
Fecha de Ingreso: noviembre-2005
Ubicación: Paderborn - Alemania
Mensajes: 550
Antigüedad: 14 años
Puntos: 23
Re: alguien tiene la solucion del Order BY?

gracias a los dos, ahora esta todo en orden, enserio que muchas gracias!!! =)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:31.