توضیحات

این تابع امکان دستیابی به مقدار یک فیلد در سطرهای قبل از رکورد جاری را فراهم می‌کند.

دستور

تابع LAG به صورت زیر نوشته می‌شود:

LAG ( expression [, offset [, default] ] )
OVER ( [ query_partition_clause ] order_by_clause )

.

Offset: گزینه‌ای اختیاری است، تعداد سطر قبل از سطر جاری را مشخص می‌کند.

Default: گزینه‌ای اختیاری است، مقدار پیش فرض در صورت خارج رنج بودن offset را مشخص می‌کند.
query_partition_clause: گزینه‌ای اختیاری است، گروه‌بندی بر روی یک پارتیشن به‌ خصوص را می‌کند.
order_by_clause: گزینه‌ای اختیاری است، ترتیب سطرها در هر پارتیشن را مشخص می‌کند.

 


مثال

مثالی از خروجی تابع LAG را مشاهده می‌کنیم:
مثالی از تابع LAG

SELECT product_id, order_date,
LAG (order_date,1) OVER (ORDER BY order_date) AS prev_order_date
FROM orders;

مثالی از تابع LAG-2