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 vanTmet huidigeAGENT_MASTER_ID - in de partitie die je hebt gevormd
ORDERrijen doorROW_DT - met deze volgorde kunt u de 30 rijen selecteren vóór de huidige
ROW_DT:dit is de betekenis van dePRECEDINGzoekwoord (0de huidige rij zou selecteren, het tegenovergestelde is deFOLLOWINGclausule) - dan doe je een som op de
WIN_30_DURveld
In de gebruikelijke taal zou dit zoiets betekenen:neem voor elke agent de som van de duur van de voorafgaande 30 dagen.