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

[SOLUCIONADO] Ordenar 2 veces

Estas en el tema de Ordenar 2 veces en el foro de Mysql en Foros del Web. Buenas Estoy liado para poder conseguir ordenar los datos de una tabla 2 veces y no lo consigo. Lo que quiero hacer es, sacar los ...
  #1 (permalink)  
Antiguo 10/01/2016, 09:50
 
Fecha de Ingreso: enero-2016
Mensajes: 4
Antigüedad: 8 años, 3 meses
Puntos: 0
Ordenar 2 veces

Buenas

Estoy liado para poder conseguir ordenar los datos de una tabla 2 veces y no lo consigo.

Lo que quiero hacer es, sacar los ultimos 20 registros y esos registros ordenarlos del mas antiguo al mas nuevo.

Esto funciona, pero primero me los ordena y luego coge los ultimos 20
Código PHP:
SELECT FROM `tablaORDER BY `fechaDESC LIMIT 20 
Y esto otro que he probado no funciona
Código PHP:
SELECT FROM `tablaORDER BY `fecha`  LIMIT 20 DESC


SELECT 
FROM `tablaORDER BY `fecha`  LIMIT 20 , `IDDESC 
¿se puede hacer lo que necesito?
Gracias
  #2 (permalink)  
Antiguo 10/01/2016, 10:26
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, 5 meses
Puntos: 2658
Respuesta: Ordenar 2 veces

No te funciona porque LIMIT debe ser siempre la última cláusula de la query. No puede haber nada después de ella.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 10/01/2016, 11:32
Avatar de carlillos  
Fecha de Ingreso: febrero-2007
Ubicación: México
Mensajes: 245
Antigüedad: 17 años, 2 meses
Puntos: 21
Respuesta: Ordenar 2 veces

No me queda claro a qué te refieres con los últimos o los más nuevos.
Si lo que necesitas es obtener los últimos 20 ID's y luego esos 20 ordenarlos por fecha, podría ser algo así:
Código MySQL:
Ver original
  1. (
  2.     SELECT * FROM `tabla` ORDER BY `ID` DESC LIMIT 20
  3. ) AS t1
  4. ORDER BY `fecha` DESC
Saludos.
  #4 (permalink)  
Antiguo 10/01/2016, 11:53
 
Fecha de Ingreso: enero-2016
Mensajes: 4
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Ordenar 2 veces

Cita:
Iniciado por carlillos Ver Mensaje
No me queda claro a qué te refieres con los últimos o los más nuevos.
Si lo que necesitas es obtener los últimos 20 ID's y luego esos 20 ordenarlos por fecha, podría ser algo así:
Código MySQL:
Ver original
  1. (
  2.     SELECT * FROM `tabla` ORDER BY `ID` DESC LIMIT 20
  3. ) AS t1
  4. ORDER BY `fecha` DESC
Saludos.
Exactamente lo que necesitaba
Muchas gracias

el t1 que funcion tiene??
  #5 (permalink)  
Antiguo 10/01/2016, 12: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: 16 años, 5 meses
Puntos: 2658
Respuesta: Ordenar 2 veces

Es un alias...
La subconsulta genera lo que se denomina "tabla derivada", y en todos los DBMS una tabla derivada debe tener un alias. En TODOS.
__________________
¿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: fecha, registros, select, tabla, veces
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 20:57.