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

Ordenar los ultimos registros

Estas en el tema de Ordenar los ultimos registros en el foro de Mysql en Foros del Web. Hola. necesito poder coger los 10 ultimos registros. Una vez selecionado, poderlo ordenar por los campos que quiera. SELECT * FROM tabla WHERE id IN ...
  #1 (permalink)  
Antiguo 20/05/2011, 11:19
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Ordenar los ultimos registros

Hola.

necesito poder coger los 10 ultimos registros. Una vez selecionado, poderlo ordenar por los campos que quiera.

SELECT * FROM tabla WHERE id IN (SELECT id FROM tabla ORDER BY id DESC LIMIT 10)

pero me da error de que no puede haber LIMIT en una subquery.

¿alguna idea?

gracias.
  #2 (permalink)  
Antiguo 20/05/2011, 15:54
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Ordenar los ultimos registros

SELECT * from tabla order by id desc limit 10

esta query te devolvera los ultimos 10 registros insertos en tu tabla.
imagino manejas un id autoincrementable.

y si te resulta mas facil puedes inserta esos registros a una vista o tabla temporal y ahi los puedes manejar como quieras.

saludos espero te sirva.

o como son 10 registros, meterlo a un arreglo y ordenar el arreglo cmo quieras.
  #3 (permalink)  
Antiguo 21/05/2011, 15:16
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Respuesta: Ordenar los ultimos registros

Gracias por tu respuesta, pero lo que quería evitarme era meterlo en un arreglo y hacerlo todo en una sentencia sql.
  #4 (permalink)  
Antiguo 21/05/2011, 15:57
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 los ultimos registros

Código MySQL:
Ver original
  1.    (SELECT *
  2.    FROM tabla
  3.    ORDER BY id DESC
  4.    LIMIT 10) T1
  5. ORDER BY 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 22/05/2011, 04:24
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Respuesta: Ordenar los ultimos registros

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Código MySQL:
Ver original
  1.    (SELECT *
  2.    FROM tabla
  3.    ORDER BY id DESC
  4.    LIMIT 10) T1
  5. ORDER BY campo;


Perfecto, sabía que se podía hacer directamente...

Por cierto, que es T1 ?

Muchas gracias.
  #6 (permalink)  
Antiguo 22/05/2011, 07:48
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 los ultimos registros

El alias de la tabla derivada.
Toda tabla derivada (las que resultan de una subconsulta en el FROM), debe siempre tener un alias.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 23/05/2011, 10:23
Avatar de Flakiss  
Fecha de Ingreso: septiembre-2009
Mensajes: 113
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Ordenar los ultimos registros

:D ahora yo tambien aprendi algo nueevo jejejje

Saludos!
  #8 (permalink)  
Antiguo 25/05/2011, 09:28
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Respuesta: Ordenar los ultimos registros

Muchas por la explicación, esto mismo no lo encontraba por internet.

Me ha servido de mucho.

Etiquetas: registros, ultimo
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 08:52.