Oczywiście pytasz o tabelę T
z kolumnami WIN_30_DUR
, AGENT_MASTER_ID
i ROW_DT
(pośród innych). Pamiętaj, że słowa kluczowe, takie jak OVER
, PARTITION
pokaż, że używasz żądania analitycznego:takie żądania pozwalają uzyskać informacje o bieżącym wierszu od innych, które byłyby złożone i długie do zapisania za pomocą GROUP BY
lub inne "standardowe" klauzule.
Tutaj, w danym wierszu:
- grupa (
PARTITION
) przezAGENT_MASTER_ID
:to pobiera wszystkie wierszeT
z aktualnymAGENT_MASTER_ID
- w utworzonej partycji
ORDER
wiersze wedługROW_DT
- ta kolejność pozwala wybrać 30 wierszy przed bieżącym
ROW_DT
:to jest znaczeniePRECEDING
słowo kluczowe (0
wybrałby bieżący wiersz, przeciwieństwem jestFOLLOWING
klauzula) - potem robisz sumę na
WIN_30_DUR
pole
W zwykłym języku oznaczałoby to coś takiego:dla każdego agenta weź sumę czasu trwania ostatnich 30 dni.