Windows mit unterschiedlicher Sichtbarkeit

Das folgende Beispiel zeigt, wie verschiedene Windows in ein und dem selben Statement verbaut werden können. In der SELECT Clause verwenden wir jeweils unterschiedliche Sortierreihenfolgen. Neben einer Zeilennummer errechnen wir einen Rank und einen verdichteten Rank:

test=# SELECT 	row_number() OVER (ORDER BY tstamp) , 
		rank() OVER (ORDER BY revenue), 
		dense_rank() OVER (ORDER BY revenue), 
		* 
	FROM 	t_business 
	ORDER BY revenue;
 row_number | rank | dense_rank |   tstamp   | revenue | country 
------------+------+------------+------------+---------+---------
          2 |    1 |          1 | 2009-10-01 |       9 | AT
          3 |    2 |          2 | 2009-10-02 |      12 | AT
          6 |    3 |          3 | 2009-10-03 |      15 | AT
          8 |    3 |          3 | 2009-10-04 |      15 | AT
          4 |    5 |          4 | 2009-10-02 |      18 | DE
          1 |    6 |          5 | 2009-10-01 |      20 | DE
          5 |    7 |          6 | 2009-10-03 |      23 | DE
          7 |    8 |          7 | 2009-10-04 |      26 | DE
(8 rows)




Cybertec Schönig & Schönig GmbH
PostgreSQL support, training, consulting
www.postgresql-support.de