Du forespørger åbenbart i en tabel T
med kolonner WIN_30_DUR
, AGENT_MASTER_ID
og ROW_DT
(blandt andre). Husk, at søgeord som OVER
, PARTITION
vis, at du bruger en analytisk anmodning:Sådanne anmodninger giver dig mulighed for at få oplysninger om den aktuelle række fra de andre, som ville være komplekse og lange at skrive med GROUP BY
eller andre "standard" klausuler.
Her på en given række:
- gruppe (
PARTITION
) afAGENT_MASTER_ID
:dette får alle rækkerne afT
med nuværendeAGENT_MASTER_ID
- i den partition, du dannede
ORDER
rækker efterROW_DT
- denne rækkefølge giver dig mulighed for at vælge de 30 rækker før den aktuelle
ROW_DT
:dette er betydningen af PRECEDING
søgeord (0
ville vælge den aktuelle række, det modsatte erFOLLOWING
klausul) - så laver du en sum på
WIN_30_DUR
felt
På sædvanligt sprog vil dette betyde noget som:For hver agent, tag summen af varigheden af de foregående 30 dage.