Ver Mensaje Individual
  #5 (permalink)  
Antiguo 07/06/2009, 16:30
alexisns
 
Fecha de Ingreso: marzo-2004
Mensajes: 32
Antigüedad: 20 años, 1 mes
Puntos: 0
Respuesta: Ordenar consulta

La consulta real es:

SELECT src, start+INTERVAL length SECOND AS Salida
FROM cdr
WHERE length>0
ORDER BY Salida DESC
LIMIT 10

Lo había puesto de memoria, pero veo que no me había ido mucho, simplemente me inventé el nombre de los campos, os aseguro que funciona.

El WHERE length>0 es simplemente para evitar los que están en linea o el tiempo a sido 0.

start+INTERVAL length SECOND, lo que hace es sumar a la fecha de inicio los segundos del campo length, es decir si start='2009-06-07 22:00:00' y length=20 (segundos), el resultado Salida='2009-06-07 22:00:20'

Por otra parte, que yo sepa se puede ordenar por el alias del campo.

Yo había pensado usar una tabla temporal, es decir hacer una primera consulta ordenando por el Id DESC que es rápido, si necesito 10 pues hacer un LIMIT 100 y sobre esos 100 (que entiendo deberían estar en una tabla temporal) hacer la ordenación por Salida DESC.

No sé si será la mejor opción, por eso pregunto, aparte no he trabajado con tablas temporales y la información que he visto en Español no me ha aclarado mucho.

Gracias.

Última edición por alexisns; 07/06/2009 a las 17:10