<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - rownum]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=131</link>
		<description><![CDATA[Najświeższe odpowiedzi w rownum.]]></description>
		<lastBuildDate>Fri, 07 Aug 2009 19:16:24 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: rownum]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1134#p1134</link>
			<description><![CDATA[Dla lubiących i potrzebujących rownum'a polecam:

[url]http://www.depesz.com/index.php/2007/08/17/rownum-anyone-cumulative-sum-in-one-query/[/url]]]></description>
			<author><![CDATA[dummy@example.com (Pigmej)]]></author>
			<pubDate>Fri, 07 Aug 2009 19:16:24 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1134#p1134</guid>
		</item>
		<item>
			<title><![CDATA[Odp: rownum]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=1132#p1132</link>
			<description><![CDATA[Może jeszcze ktos o tym nie wie i przyda mu sie ta informacja

Teraz nie ma juz tego problemu od wersji 8.4 moża wykorzystać window_function ponizej przykład, którego nie trzeba chyba tłumaczyć.

SELECT *,row_number() OVER()  FROM pg_tables;]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Fri, 07 Aug 2009 10:36:12 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=1132#p1132</guid>
		</item>
		<item>
			<title><![CDATA[Odp: rownum]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=529#p529</link>
			<description><![CDATA[[quote=rski]Rownuma niestety nie ma, możesz spróbowac go zastąpić:
2) używając licznika (problemem jest to, że licznik trzeba za przed każdym zapytaniem zrestartować)[/quote]
Dobrze mówi :) Dać mu ... :>

Szybki przykładzik, może się przyda.

[code],-[19:42:22]merlin@[local]:5432=
`-merlin>create TEMP sequence test_seq;
,-[19:42:24]merlin@[local]:5432
`-merlin=>select a.*, nextval('test_seq') as rownum from bigtable a order by 1 asc  LIMIT 10;
 id | pole1 | rownum 
----+-------+--------
  1 |   971 |      1
  2 |  1447 |      2
  3 |  3150 |      3
  4 |  3553 |      4
  5 |  4654 |      5
  6 |  4882 |      6
  7 |  5121 |      7
  8 |  5128 |      8
  9 |  6389 |      9
 10 |  7903 |     10
(10 rows)[/code]]]></description>
			<author><![CDATA[dummy@example.com (psocha)]]></author>
			<pubDate>Fri, 06 Feb 2009 18:47:17 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=529#p529</guid>
		</item>
		<item>
			<title><![CDATA[Odp: rownum]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=481#p481</link>
			<description><![CDATA[Rownuma niestety nie ma, możesz spróbowac go zastąpić:
1) Pisząc funkcję w plpgsql czy plperlu 
2) używając licznika (problemem jest to, że licznik trzeba za przed każdym zapytaniem zrestartować)]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Fri, 30 Jan 2009 09:09:50 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=481#p481</guid>
		</item>
		<item>
			<title><![CDATA[Odp: rownum]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=478#p478</link>
			<description><![CDATA[Chodzi o to by dla dowolnego zapytania nie zaleznie od sposobu jego sortowania istniala kolumna rownum zwracajaca numer porzadkowy wiersza, a takze by mozna było po niej dokonywac wyboru np wybrac co 5 wiersz np where (rownum mod 5)=0]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Wed, 28 Jan 2009 21:54:04 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=478#p478</guid>
		</item>
		<item>
			<title><![CDATA[Odp: rownum]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=477#p477</link>
			<description><![CDATA[Co dokladnie ma zwrócić zapytanie?]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Wed, 28 Jan 2009 19:09:21 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=477#p477</guid>
		</item>
		<item>
			<title><![CDATA[rownum]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=476#p476</link>
			<description><![CDATA[Szumak rozwiązania problemu braku w PostgreSql funkcji rownum (odpowiednik z oracle) 

Nie chce korzystac z tworzenia tymczasowewej sekwencji

Znalałem takie rozwiazanie ale działa mało wydajnie zwłaszcza gdy zapytanie zwraca duza ilosc wierszy

SELECT s as rownum,u.usesysid,u.usename 
FROM generate_series(1, array_upper(array(select usesysid from pg_shadow order by usename DESC), 1)) AS s
join pg_shadow as u on usesysid=(array(select usesysid from pg_shadow order by usename DESC))[s]

Czy może ktoś rozwiazał ten problem i sie podzieli wiedza (może jakas funkcja w C)]]></description>
			<author><![CDATA[dummy@example.com (c_michal)]]></author>
			<pubDate>Wed, 28 Jan 2009 07:57:20 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=476#p476</guid>
		</item>
	</channel>
</rss>
