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 afTmed nuværendeAGENT_MASTER_ID - i den partition, du dannede
ORDERræ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 PRECEDINGsøgeord (0ville vælge den aktuelle række, det modsatte erFOLLOWINGklausul) - så laver du en sum på
WIN_30_DURfelt
På sædvanligt sprog vil dette betyde noget som:For hver agent, tag summen af varigheden af de foregående 30 dage.