Comunidad de diseño web y desarrollo en internet online

Mysql Invertir los resultados de una consulta

Citar            
MensajeEscrito el 19 May 2008 12:14 am
Okey, este problema me acaba de hacer sentir idiota y poner cara de :? , pero asi es la vida.

para un grafico necesito obtener los ULTIMOS 10 registros de una tabla y mostrarlos en el orden en que fueron guardados.

asi que hice esto:

Código :

SELECT *, date_format(`datetime`,'%l:%i %p') datetime  FROM `pings` WHERE `point_id` = ".$Point->getId()." ORDER BY `datetime` DESC LIMIT 10


y funciona bien, si no fuera porque al hacer un while(..nextResult...) echo result... con los resultados primero imprime el ultimo en insertarse y al final el primero (osea muestra las cosas al reves), y necesito que sea al derecho. porque es un grafico!

me explico, supongamos que es por años, me imprime los ultimos 10:

2008 2007 2006 2005 ...

y necesito que sea..

... 2005 2006 2007 2008

:shock:

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 19 May 2008 04:28 am
Fácil.

Código :

SELECT * FROM (
SELECT *, date_format(`datetime`,'%l:%i %p') datetime, 
`datetime` AS rawdatetime
 FROM `pings` WHERE `point_id` = ".$Point->getId()." ORDER BY `datetime` DESC LIMIT 10
) AS TempTable
ORDER BY TempTable.rawdatetime ASC

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 19 May 2008 04:57 am
Creo que lo que te pasa es renombras al campo con el mismo nombre, y por eso no te hace el orden bien sino que lo hace con el nuevo alias..

Código :

 SELECT 
   * , 
   date_format( `datetime` , '%l:%i %p' ) AS `time` 
FROM `ping`
WHERE `point_id` = '1'
ORDER BY `datetime` ASC

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 19 May 2008 04:21 pm
@Dano: tu query me dice duplicated column name 'datetime'.

@maikei, si pongo ASC en vez de regresarme 2006 2007 2008... me regresa 1991 1992 1993 (los primeros registrso de toda la tabla)

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 19 May 2008 04:36 pm

Código :

SELECT * FROM (
SELECT *, 
date_format(`datetime`,'%l:%i %p') datetime_string 
 FROM `pings` WHERE `point_id` = ".$Point->getId()." ORDER BY `datetime` DESC LIMIT 10
) AS TempTable
ORDER BY TempTable.datetime ASC



Listo.

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.