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

Obtener últimas filas pero de menor a mayor

Estas en el tema de Obtener últimas filas pero de menor a mayor en el foro de Mysql en Foros del Web. Hola, creé un chat para mi web, todo perfecto. A la hora de mostrar los últimos mensajes lo hago con esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: ...
  #1 (permalink)  
Antiguo 23/12/2012, 10:22
 
Fecha de Ingreso: diciembre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Pregunta Obtener últimas filas pero de menor a mayor

Hola, creé un chat para mi web, todo perfecto. A la hora de mostrar los últimos mensajes lo hago con esto:

Código MySQL:
Ver original
  1. SELECT id_autor,mensaje,fecha,id
  2. FROM chat
Esto me muestra los últimos 20 mensajes, pero inserta los más nuevos arriba. Yo pregunto cómo hago para que se muestren los últimos pero de MENOR A MAYOR como xat, cbox, y otros.

Seguramente pensarás que solo debo cambiar el DESC por ASC, pero así me mostraría los primeros, no los últimos. Espero que tenga solución, Saludos!

Última edición por EllMaty; 23/12/2012 a las 17:29
  #2 (permalink)  
Antiguo 24/12/2012, 18:11
Avatar de jmacc  
Fecha de Ingreso: marzo-2007
Ubicación: Mexico
Mensajes: 94
Antigüedad: 17 años, 9 meses
Puntos: 6
Respuesta: Obtener últimas filas pero de menor a mayor

Podrias intentarlo de la Siguiente Manera.

Código MySQL:
Ver original
  1. SELECT id_autor,mensaje,fecha,id
  2. FROM chat
  3. ORDER BY id DESC,fecha ASC,id DESC
No se si eso estabas buscando :) pero espero que te sirva ,Saludos.
__________________
Los bueno Chicos Acaban Primero.
User Linux: #527435
  #3 (permalink)  
Antiguo 25/12/2012, 11:44
 
Fecha de Ingreso: diciembre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Obtener últimas filas pero de menor a mayor

Cita:
Iniciado por jmacc Ver Mensaje
Podrias intentarlo de la Siguiente Manera.

Código MySQL:
Ver original
  1. SELECT id_autor,mensaje,fecha,id
  2. FROM chat
  3. ORDER BY id DESC,fecha ASC,id DESC
No se si eso estabas buscando :) pero espero que te sirva ,Saludos.
Gracias por responder, pero no funciono, logre obtener los resultados que quería pero con php.
  #4 (permalink)  
Antiguo 25/12/2012, 15:30
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: Obtener últimas filas pero de menor a mayor

Cita:
logre obtener los resultados que quería pero con php.
PHP no es tema de este foro, de modo que en eso no encontrarás soluciones aquí.
En todo caso lo que no estás viendo es que si lo que quieres son los ultimos 20 resultados, pero de menor a mayor, lo que debes hacer es lo mismo, pero en una subconsulta. Estás confundiendo la obtención de la lista de los 20 últimos, con el orden de la lista, que son dos cosas diferentes.
Es decir que si esto devuelve la lista correcta, pero en el orden inverso:
Código MySQL:
Ver original
  1. SELECT id_autor,mensaje,fecha,id
  2. FROM chat

Lo que tienes que hacer es ordenar de nuevo ese mismo resultado:
Código MySQL:
Ver original
  1. SELECT id_autor, mensaje, fecha, id
  2.    (SELECT id_autor, mensaje, fecha, id
  3.    FROM chat
  4.    ORDER BY id DESC
  5.    LIMIT 20) T1
__________________
¿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/01/2013, 20:55
 
Fecha de Ingreso: diciembre-2012
Mensajes: 4
Antigüedad: 12 años
Puntos: 0
Respuesta: Obtener últimas filas pero de menor a mayor

Cita:
Iniciado por gnzsoloyo Ver Mensaje
PHP no es tema de este foro, de modo que en eso no encontrarás soluciones aquí.
En todo caso lo que no estás viendo es que si lo que quieres son los ultimos 20 resultados, pero de menor a mayor, lo que debes hacer es lo mismo, pero en una subconsulta. Estás confundiendo la obtención de la lista de los 20 últimos, con el orden de la lista, que son dos cosas diferentes.
Es decir que si esto devuelve la lista correcta, pero en el orden inverso:
Código MySQL:
Ver original
  1. SELECT id_autor,mensaje,fecha,id
  2. FROM chat

Lo que tienes que hacer es ordenar de nuevo ese mismo resultado:
Código MySQL:
Ver original
  1. SELECT id_autor, mensaje, fecha, id
  2.    (SELECT id_autor, mensaje, fecha, id
  3.    FROM chat
  4.    ORDER BY id DESC
  5.    LIMIT 20) T1
GRACIAS!!: Funciono de 10! ;)

Etiquetas: desc, limit, mayor, menor, select, 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 21:40.