Vous interrogez évidemment une table T avec des colonnes WIN_30_DUR , AGENT_MASTER_ID et ROW_DT (entre autres). N'oubliez pas que des mots clés tels que OVER , PARTITION montrez que vous utilisez une requête analytique :de telles requêtes permettent d'obtenir des informations sur la ligne en cours à partir des autres, ce qui serait complexe et long à écrire avec GROUP BY ou d'autres clauses "standard".
Ici, sur une ligne donnée, vous :
- groupe (
PARTITION) parAGENT_MASTER_ID:ceci récupère toutes les lignes deTavecAGENT_MASTER_IDactuel - dans la partition formée vous
ORDERlignes parROW_DT - cet ordre vous permet de sélectionner les 30 lignes avant le
ROW_DTactuel :c'est le sens duPRECEDINGmot-clé (0sélectionnerait la ligne actuelle, le contraire est leFOLLOWINGclause) - puis vous faites une somme sur le
WIN_30_DURchamp
En langage courant, cela voudrait dire quelque chose comme :pour chaque agent, prendre la somme des durées des 30 jours précédents.