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/


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to