1

Temat: rownum

2

Odp: rownum

Co dokladnie ma zwrócić zapytanie?

3

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

4

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ć)

5

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)
Pozdrawiam
Pawel Socha

6

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;

7

Odp: rownum