Je zoekt duidelijk naar een tabel T
met kolommen WIN_30_DUR
, AGENT_MASTER_ID
en ROW_DT
(onder andere). Houd er rekening mee dat zoekwoorden zoals OVER
, PARTITION
laat zien dat u een analytisch verzoek gebruikt:met dergelijke verzoeken kunt u informatie over de huidige rij van de andere krijgen, dat zou ingewikkeld en lang zijn om te schrijven met GROUP BY
of andere "standaard" clausules.
Hier, op een bepaalde rij, kun je:
- groep (
PARTITION
) doorAGENT_MASTER_ID
:dit krijgt alle rijen vanT
met huidigeAGENT_MASTER_ID
- in de partitie die je hebt gevormd
ORDER
rijen doorROW_DT
- met deze volgorde kunt u de 30 rijen selecteren vóór de huidige
ROW_DT
:dit is de betekenis van dePRECEDING
zoekwoord (0
de huidige rij zou selecteren, het tegenovergestelde is deFOLLOWING
clausule) - dan doe je een som op de
WIN_30_DUR
veld
In de gebruikelijke taal zou dit zoiets betekenen:neem voor elke agent de som van de duur van de voorafgaande 30 dagen.