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

¿Por qué me ordena mal esta consulta?

Estas en el tema de ¿Por qué me ordena mal esta consulta? en el foro de Mysql en Foros del Web. Hola a todos: Tengo una pregunta a la que no encuentro una respuesta aparente. Os dejo con una imagen para que veáis lo que me ...
  #1 (permalink)  
Antiguo 23/12/2011, 15:53
 
Fecha de Ingreso: febrero-2002
Mensajes: 351
Antigüedad: 22 años, 9 meses
Puntos: 19
¿Por qué me ordena mal esta consulta?

Hola a todos:

Tengo una pregunta a la que no encuentro una respuesta aparente.

Os dejo con una imagen para que veáis lo que me ocurre:


¿Por qué me lo ordena de esta manera tan extraña? No lo veo, ordenador por orden alfabético como debería de hacerlo.

Gracias por adelantado y un cordial saludo.
  #2 (permalink)  
Antiguo 23/12/2011, 16:00
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 9 meses
Puntos: 96
Respuesta: ¿Por qué me ordena mal esta consulta?

Saludos

De que tipo es el campo?
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 23/12/2011, 16:09
 
Fecha de Ingreso: febrero-2002
Mensajes: 351
Antigüedad: 22 años, 9 meses
Puntos: 19
Respuesta: ¿Por qué me ordena mal esta consulta?

Hola Nano_ y gracias por tu respuesta tan rápida y tu ayuda ;)

El campo es de tipo enum, ummm... y tiene esta estructura:
enum('crimen','terror','thriller','romance','sciFi ','aventuras','noFiccion')

Ahora que lo pienso, me parece que va a ser por el tipo de campo, tal y como me has comentado. Porque veo que los ordena tal y como está creada la estructura.

O sea, que en el libro que estoy siguiendo, este ejercicio en realidad está mal explicado, puesto que se dice que lo ordena alfabeticamente, pero no aclara que es según la estructura.

¿Estoy en lo cierto?.

Miles de gracias Nano_. Te agrego Karma :)
  #4 (permalink)  
Antiguo 23/12/2011, 18:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: ¿Por qué me ordena mal esta consulta?

Cada uno de los elementos de un ENUM tiene un valor de índice de base 1. El ordenamiento se hace en base a eso.
Según el manual de Referencia:
Cita:
Los valores ENUM se ordenan según el orden en que se enumeran los miembros en la especificación de la columna. (En otras palabras, los valores ENUM se ordenan según sus números de índice.) Por ejemplo, 'a' se ordena antes que 'b' para ENUM('a', 'b'), pero 'b' se ordena antes de 'a' para ENUM('b', 'a'). La cadena vacía se ordena antes de las cadenas no vacías, y los valores NULL se ordenan antes de todos los otros valores de la enumeración. Para evitar resultados inesperados, especifique la lista ENUM en orden alfabético. También puede usar GROUP BY CAST(col AS VARCHAR) o GROUP BY CONCAT(col) para asegurarse que la columna se ordena léxicamente en lugar de por número de índice.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 25/12/2011 a las 19:19
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:54.