Re: Strange limit and offset behaviour....

From: Bjørn T Johansen <btj(at)havleik(dot)no>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Strange limit and offset behaviour....
Date: 2009-02-07 21:57:19
Message-ID: 20090207225719.07a4240d@pennywise.havleik.no
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, 7 Feb 2009 15:49:49 -0600
"Adam Rich" <adam(dot)r(at)sbcglobal(dot)net> wrote:

> >
> > I have the following sql:
> >
> > SELECT * from table order by dato asc limit 20 offset 0
> >
> >
> > This gives me different rows than the 20 first rows when running the
> > following sql:
> >
> > SELECT * from table order by dato asc
> >
> >
> > Shouldn't the 20 first rows in the second sql statment be the same 20
> > rows that is returned in the first statement
> > or am I missing something?
> >
>
> Not necessarily. In your example query, if "dato" was not a unique
> column, and there were some duplicates, the "top 20" values is not
> a defined set. Adding the offset clause might cause a different
> query plan, resulting in a different ordering of the duplicate values.
>
>
I found out that if I created an index on the dato field, then I got the same 20 rows... Does that make sense or is
it just a coincedense?

BTJ

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Grzegorz Jaśkiewicz 2009-02-07 22:03:37 Re: Strange limit and offset behaviour....
Previous Message Adam Rich 2009-02-07 21:49:49 Re: Strange limit and offset behaviour....