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

Ordenar Registros a base de dos campos

Estas en el tema de Ordenar Registros a base de dos campos en el foro de Mysql en Foros del Web. Hola a migos necesito de su ayuda Resulta que quiero ordenar mis registrosa a base de dos campos, ahora, si en mi base de datos ...
  #1 (permalink)  
Antiguo 01/03/2012, 10:31
 
Fecha de Ingreso: febrero-2011
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Ordenar Registros a base de dos campos

Hola a migos necesito de su ayuda

Resulta que quiero ordenar mis registrosa a base de dos campos, ahora, si en mi base de datos tengo los registros siguientes:

nombre orden fecha
regis1 1 2012/03/01
regis2 2 2012/03/01
regis3 3 2012/03/01
regis4 1 2012/02/28
regis5 2 2012/03/01


y cuando hago la consulta

SELECT * FROM tabla ORDER BY orden ASC, fecha DESC

me arroja:

regis1
regis4
regis2
regis5
regis3

y lo que quiero es que cuando haga la consulta los ordene primero por el orden, y si encuentra ordenes repetidos, los acomode por fecha, pero sin perder el orden
  #2 (permalink)  
Antiguo 01/03/2012, 10:38
Avatar de genaro_belen  
Fecha de Ingreso: diciembre-2010
Ubicación: Santo Domingo, RD
Mensajes: 94
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Ordenar Registros a base de dos campos

Pero la consulta te esta haciendo justo lo que le estas pidiendo... pude analizar tu codigo y veo que es exactamente lo que le estas diciendo que hagas, eso ella hace correctamente...

Dile esto SELECT * FROM tabla ORDER BY orden ASC, fecha

osea sin el DESC de la fecha...

a ver si funciona bien...
  #3 (permalink)  
Antiguo 01/03/2012, 11:08
 
Fecha de Ingreso: febrero-2011
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Ordenar Registros a base de dos campos

Gracias genaro_belen, pero sigue sin funcionar!!! alguna otra propuesta para que funcione???
  #4 (permalink)  
Antiguo 01/03/2012, 11:14
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: Ordenar Registros a base de dos campos

Cita:
y si encuentra ordenes repetidos, los acomode por fecha, pero sin perder el orden
¿Sin perder qué orden? ¿El orden de aparición según su nombre?
Si es eso, estás pidiendo algo contradictorio. N puedes ordenar por "orden" y "fecha", y que mantenga el orden del "id", si las fechas no tienen la misma secuencialidad que el nombre.
Para eso lo ordenas en base a un solo campo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 01/03/2012, 11:44
 
Fecha de Ingreso: febrero-2011
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Ordenar Registros a base de dos campos

No, el nombre no tiene nada que ver, solo tiene que ordenar por orden y por fecha, pero si encuentra ordenes repetidos, primero debe de poner los registros mas actuales (por fecha), pero sin perder el campo orden
  #6 (permalink)  
Antiguo 01/03/2012, 11:47
Avatar de genaro_belen  
Fecha de Ingreso: diciembre-2010
Ubicación: Santo Domingo, RD
Mensajes: 94
Antigüedad: 13 años, 4 meses
Puntos: 3
Respuesta: Ordenar Registros a base de dos campos

y si un registro en el campo orden es el 5 y otro el 6 pero que el 5 fue creado en una fecha ultima que el 6... eso puede ocurrir? si eso puede ocurrir entonces tu consulta va a explotar por una contradicion...
  #7 (permalink)  
Antiguo 01/03/2012, 12:03
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: Ordenar Registros a base de dos campos

Mira, si lo que quieres es que ordene por ORDEN y luego por FECHA de la mas reciente a la mas antigua (orden descendente), queda así:
Cita:
nombre orden fecha
regis1 1 01/03/2012
regis4 1 28/02/2012
regis2 2 01/03/2012
regis5 2 01/03/2012
regis3 3 01/03/2012
Por otro lado, el campo orden no se pierde jamás, así que no sé a qué te refieres con eso.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 01/03/2012, 12:33
 
Fecha de Ingreso: febrero-2011
Mensajes: 195
Antigüedad: 13 años, 2 meses
Puntos: 1
Respuesta: Ordenar Registros a base de dos campos

Gracias a todos, ya quedo bien, de todos modos genaro_belen lo que me preguntas no puede ocurrir, y me di cuenta que estaba mal en lo que pense hacer, primero deberia de ordenarlos por fecha y despues por orden y ademas estaba mal mi campo de la base de datos porque no solo estaba como fecha sino como fecha y hora, pero ya lo modifique a solo fecha, para que los registros sean iguales en fecha pero no en orden la consulta quedo de la siguiente manera

SELECT * FROM tabla ORDER BY fecha DESC, orden ASC

y asi primero los acomoda por fecha del registro mas nuevo al viejo, y si encuentra fechas iguales los acomoda de acuerdo al orden, GRACIAS A TODOS

SALUDOS!!!

Etiquetas: campos, registro, registros, tabla
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 19:02.