Odp: rownum
Co dokladnie ma zwrócić zapytanie?
Odp: rownum
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
Odp: rownum
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ć)
Odp: rownum
,-[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)
Pawel Socha
Odp: rownum
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;