1

Temat: Numerowanie/ iterowanie wierszy tabeli

Mam tabele:

termin
----------------
2011-03-15
2011-06-15
2011-09-15
2011-12-15

2012-03-15
2012-06-15
2012-12-15

2013-02-15
2013-05-15
2013-08-15
2013-11-15
2013-12-30


---------------------------------------------
1.
Chciałbym uzyskać taką tabelę

termin         | lp
----------------------------
2011-03-15 | 1
2011-06-15 | 2
2011-09-15 | 3
2011-12-15 | 4

2012-03-15 | 5
2012-06-15 | 6
2012-12-15 | 7

2013-02-15 | 8
2013-05-15 | 9
2013-08-15 | 10
2013-11-15 | 11
2013-12-30 | 12


------------------------------------------
2.
Chciałbym uzyskać taką tabelę:


termin         | nr_raty
----------------------------
2011-03-15 | 1
2011-06-15 | 2
2011-09-15 | 3
2011-12-15 | 4

2012-03-15 | 1
2012-06-15 | 2
2012-12-15 | 3

2013-02-15 | 1
2013-05-15 | 2
2013-08-15 | 3
2013-11-15 | 4
2013-12-30 | 5



Proszę o wskazówki, nie wiem za bardzo jak do tego podejść.

2

Odp: Numerowanie/ iterowanie wierszy tabeli

poczytaj o "Window functions", a dokładnie o row_number()

3

Odp: Numerowanie/ iterowanie wierszy tabeli

select termin,row_number() over (order by termin) as lp,
row_number() over (PARTITION BY to_char(termin,'YYYY') ORDER BY termin) as na_raty
from tabela

4

Odp: Numerowanie/ iterowanie wierszy tabeli

"window functions", row_number(), dense_rank(), ...
- dzięki :-)