Rõ ràng là bạn đang truy vấn một bảng T
với các cột WIN_30_DUR
, AGENT_MASTER_ID
và ROW_DT
(trong số những người khác). Hãy nhớ rằng các từ khóa như OVER
, PARTITION
cho thấy bạn đang sử dụng một yêu cầu phân tích:những yêu cầu như vậy cho phép bạn lấy thông tin về hàng hiện tại từ những hàng khác, điều này sẽ phức tạp và mất nhiều thời gian để viết với GROUP BY
hoặc các điều khoản "tiêu chuẩn" khác.
Tại đây, trên một hàng nhất định, bạn:
- nhóm (
PARTITION
) bởiAGENT_MASTER_ID
:cái này lấy tất cả các hàng củaT
vớiAGENT_MASTER_ID
hiện tại - trong phân vùng đã hình thành bạn
ORDER
hàng theoROW_DT
- thứ tự này cho phép bạn chọn 30 hàng trước
ROW_DT
hiện tại :đây là ý nghĩa củaPRECEDING
từ khóa (0
sẽ chọn hàng hiện tại, ngược lại làFOLLOWING
mệnh đề) - sau đó bạn tính tổng trên
WIN_30_DUR
lĩnh vực
Theo ngôn ngữ thông thường, điều này có nghĩa là:đối với mỗi đại lý, hãy lấy tổng khoảng thời gian của 30 ngày trước đó.