From: | Chris <dmagick(at)gmail(dot)com> |
---|---|
To: | Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com> |
Cc: | postgresql Forums <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Simulate count result are distinct between 8.3 and 8.4 |
Date: | 2009-08-12 23:37:25 |
Message-ID: | 4A835235.6010300@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Emanuel Calvo Franco wrote:
> hi people!
>
> I have this test query to simulate rownums in 8.3:
>
> SELECT
> (select count(i)+1 from prueba
> where i < xi.i
> ) as rownum, i, p
> FROM prueba xi limit 5;
>
> Devuelve , que esta bien:
> 1;1;"299361"
> 2;2;"421127"
> 3;3;"166284"
> 4;4;"458945"
> 5;5;"81619"
>
>
> But in 8.4 throws this:
>
> postgres=# SELECT
> postgres-# (select count(i)+1 from prueba
> postgres(# where i < xi.i
> postgres(# ) as rownum, i, p
> postgres-# FROM prueba xi limit 5;
> rownum | i | p
> --------+--------+--------
> 168770 | 168763 | 908731
> 168771 | 168764 | 640826
> 168772 | 168765 | 571112
> 168773 | 168766 | 992462
> 168774 | 168767 | 992471
> (5 filas)
Without an order by in your query, the db can return them as soon as it
finds the rows.
If you add an order by (to the outer part), it should be more reliable.
--
Postgresql & php tutorials
http://www.designmagick.com/
From | Date | Subject | |
---|---|---|---|
Next Message | Aleksey Tsalolikhin | 2009-08-12 23:45:53 | Re: trouble building pgbench on CentOS 5.3: /usr/bin/ld: cannot find -lpgport |
Previous Message | Tim Landscheidt | 2009-08-12 23:23:47 | Re: Looping through string constants |