2010/9/9 Juan Pablo Sandoval Rivera <[email protected]>:
m>
> Como se observa los registos viene organizados por la fecha de forma
> descendenrte, pero el caso que se tiene es que cuando se desea obtener el
> primer registro del set, el motor, segun se observa decide usar el segundo
> registro, es decir usa como
>
> segundo ordenamiento el oid, puede ser un fallo? como por obtener el primer
> registro, ? , por que razon la segunda consulta
>
> me arroja el segundo registro y no el primero ?
>

Tu consulta esta ordenando *exclusivamente* por la fecha de forma
descendente, asi que obtienes este resultado:
"""
 879676839 | 14693.6960236998 | 2009-12-04
 879676723 | 14094.6000000000 | 2009-12-04
"""

fijate que ambas fechas son iguales, asi que como determinas cual es
el primer registro y cual el segundo?
en realidad el orden de esos dos registros no esta definido de ninguna
manera y como tu no le has dicho a postgres que hacer (por ejemplo
indicando un segundo campo de ordenamiento que defina que hacer en ese
caso) postgres los retorna sin ningun orden en particular...

en otras palabras el hecho de que el registro con oid 879676839 este
primero cuando haces la consulta es solo casualidad y eso puede
cambiar sin previo aviso si aumentan datos, actualizas o cambia el
plan de ejecucion (que es lo que paso cuando hiciste el limit)

-- 
Jaime Casanova         www.2ndQuadrant.com
Soporte y capacitación de PostgreSQL
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a