Você obviamente está consultando uma tabela
T com colunas WIN_30_DUR , AGENT_MASTER_ID e ROW_DT (entre outros). Lembre-se de que palavras-chave como OVER , PARTITION mostre que você está usando uma solicitação analítica:essas solicitações permitem que você obtenha informações sobre a linha atual das outras, que seriam complexas e longas para escrever com GROUP BY ou outras cláusulas "padrão". Aqui, em uma determinada linha, você:
- grupo (
PARTITION) porAGENT_MASTER_ID:obtém todas as linhas deTcom oAGENT_MASTER_IDatual - na partição formada você
ORDERlinhas porROW_DT - esta ordenação permite que você selecione as 30 linhas antes do
ROW_DTatual :este é o significado doPRECEDINGpalavra-chave (0selecionaria a linha atual, o oposto é oFOLLOWINGcláusula) - então você faz uma soma no
WIN_30_DURcampo
Na linguagem usual, isso significaria algo como:para cada agente, tome a soma das durações dos 30 dias anteriores.