From: | Jaime Casanova <jaime(at)2ndquadrant(dot)com> |
---|---|
To: | juapabsan(at)tutopia(dot)com |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Consulta con query usando limit |
Date: | 2010-09-10 16:52:42 |
Message-ID: | AANLkTi=aD7hZ8GatduPgYJc8o9ZL9P3r964ajUujWkwP@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2010/9/9 Juan Pablo Sandoval Rivera <juapabsan(at)tutopia(dot)com>:
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
From | Date | Subject | |
---|---|---|---|
Next Message | Elias Rafael Rodelo M. | 2010-09-10 17:03:45 | Ayuda |
Previous Message | Silvio Quadri | 2010-09-10 16:51:45 | Re: Consulta con query usando limit |