OVER i (partition by....)



Marcin,
Nieco o niecne intencje Ciebie podejrzewam. Jakiś taki czepliwy wydajesz mi się. Grupowanie i partycjonowanie to to samo, to synonimy, to wiesz przecież o co chodzi, a skąd żeś się dowiedział o OVER i PARTITION BY?
No skąd, w jakimś przykładzie to było, ja skrzętnie milczę,  omijam te klauzule…
Eh…
No nie cierpię o nich opowiadać.
Wrócę do początków bloga, do tabelki rozliczenia. Ta tabelka ma de facto trzy pola: datę stanu, kontrakt, saldo.


Zadanie: do każdego wiersza danych dodaj pole zawierającego sumę sald w danej dacie oraz określ procentowo jak ważne jest saldo danego kontraktu dla sumy sald w danej dacie, jak ważny był kontrakt na koniec danego roku.
Innymi słowy muszą być co najmniej dwa dodatkowe pola dodane, które będą pokazywały:
-  sumę sald w danej dacie
- oraz relację poszczególnych saldo do sumy sald w danej dacie.
No i właśnie do takich zastosowań nadaje się wykorzystanie funkcji agregujących (tu sumę wykorzystam) i grupowanie z użyciem OVER i wskazywanie według czego grupujemy przy pomocy PARTITION BY.
Zobacz przykład, może rozjaśni, bo ja naprawdę nie lubię tych klauzul. 


W.




Brak komentarzy:

Prześlij komentarz