Очевидно правите запитване към таблица T
с колони WIN_30_DUR
, AGENT_MASTER_ID
и ROW_DT
(наред с други). Имайте предвид, че ключови думи като OVER
, PARTITION
покажете, че използвате аналитична заявка:такива заявки ви позволяват да получите информация за текущия ред от другите, което би било сложно и дълго за писане с GROUP BY
или други "стандартни" клаузи.
Тук, на даден ред, вие:
- група (
PARTITION
) отAGENT_MASTER_ID
:това получава всички редове наT
с текущAGENT_MASTER_ID
- във образувания дял Вие
ORDER
редове отROW_DT
- това подреждане ви позволява да изберете 30-те реда преди текущия
ROW_DT
:това е значението наPRECEDING
ключова дума (0
ще избере текущия ред, обратното еFOLLOWING
клауза) - след това правите сума на
WIN_30_DUR
поле
На обикновен език това би означавало нещо като:за всеки агент вземете сбора от продължителностите на предходните 30 дни.