Ovviamente stai interrogando una tabella T
con colonne WIN_30_DUR
, AGENT_MASTER_ID
e ROW_DT
(tra gli altri). Tieni presente che parole chiave come OVER
, PARTITION
mostra che stai utilizzando una richiesta analitica:tali richieste ti permettono di ottenere informazioni sulla riga corrente dalle altre, che sarebbero complesse e lunghe da scrivere con GROUP BY
o altre clausole "standard".
Qui, su una determinata riga, tu:
- gruppo (
PARTITION
) daAGENT_MASTER_ID
:questo ottiene tutte le righe diT
conAGENT_MASTER_ID
corrente - nella partizione formata
ORDER
righe perROW_DT
- questo ordinamento ti consente di selezionare le 30 righe prima dell'attuale
ROW_DT
:questo è il significato delPRECEDING
parola chiave (0
selezionerebbe la riga corrente, l'opposto è ilFOLLOWING
clausola) - poi fai una somma sul
WIN_30_DUR
campo
Nel linguaggio comune, ciò significherebbe qualcosa del tipo:per ogni agente, prendi la somma delle durate dei 30 giorni precedenti.