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