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

Problemas con ORDER BY

Estas en el tema de Problemas con ORDER BY en el foro de Mysql en Foros del Web. Hola amigos hace dias publique una duda y como es costumbre rapido me ayudaron a esclarecer y pude realizar mi trabajo. La solucion fue: @import ...
  #1 (permalink)  
Antiguo 14/01/2013, 11:26
 
Fecha de Ingreso: septiembre-2012
Ubicación: La Habana
Mensajes: 32
Antigüedad: 11 años, 7 meses
Puntos: 1
Pregunta Problemas con ORDER BY

Hola amigos hace dias publique una duda y como es costumbre rapido me ayudaron a esclarecer y pude realizar mi trabajo. La solucion fue:

Código PHP:
Ver original
  1. SELECT especialista,
  2. SUM(IF(estado = 'P', 1, 0)) pendientes,
  3. SUM(IF(estado = 'D', 1, 0)) denegados,
  4. SUM(IF(estado = 'A', 1, 0)) proceso,
  5. SUM(IF(estado = 'T', 1, 0)) terminados,
  6. SUM(IF(estado != '', 1, 0)) total
  7. FROM tb_datos
  8. GROUP BY especialista;

Pero ahora mi problema es necesito pasarle parametros de fechas para obtener sus resultados y por supuesto los registros cuando fueron insertados no estas de forma ascendente, probe con esto, pero no me resulto, ya que cuando hago la cuenta manual siempre omite algunos registros, es que me falta algo o que?

Pense que haciendo un ordenamiento de los registros por fechas se resolveria el problema pero no fue asi...

Código PHP:
Ver original
  1. SELECT especialista,
  2. SUM(IF(estado = 'P', 1, 0)) pendientes,
  3. SUM(IF(estado = 'D', 1, 0)) denegados,
  4. SUM(IF(estado = 'A', 1, 0)) proceso,
  5. SUM(IF(estado = 'T', 1, 0)) terminados,
  6. SUM(IF(estado != '', 1, 0)) total
  7. FROM tb_datos
  8. WHERE (((fecha_entrada) Between '01/01/2013' and '31/12/2013'))
  9. GROUP BY especialista
  10. ORDER BY fecha_entrada ASC;


Gracias...
  #2 (permalink)  
Antiguo 14/01/2013, 11:39
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: Problemas con ORDER BY

Tienes que cambiar el formato de fecha a yyyy-mm-dd y te debe funcionar bien, te recomiendo que utlices en la base de datos el campo del tipo date

Saludos
  #3 (permalink)  
Antiguo 14/01/2013, 11:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problemas con ORDER BY

Refrendando lo que te dicen, si el campo fecha_entrada fuese un VARCHAR, el resultado sería que el DBMS lo compararía como cadena de texto, y en ese caso se podría dar el absurdo de que el 23/01/2456 sea anterior al 24/11/1645.
Los datos de tipo fecha deben ser almacenados como DATE, DATETIME o TIMESTAMP, y no como VARCHAR.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: order, registros, select
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 05:12.