Re: Consulta con query usando limit

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

In response to

Browse pgsql-es-ayuda by date

  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