مشاركة عبر


lag دالة النافذة التحليلية

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime

إرجاع قيمة من expr صف سابق داخل القسم.

بناء الجملة

lag( expr [, offset [, default] ] ) [ IGNORE NULLS | RESPECT NULLS ] OVER clause

الوسيطات

  • expr: تعبير من أي نوع.
  • offset: قيمة INTEGER حرفية اختيارية تحدد الإزاحة.
  • default: تعبير من نفس نوع expr.
  • IGNORE NULLS أو RESPECT NULLS: عند IGNORE NULLS تحديد، يتم تجاهل أي expr قيمة NULL. الافتراضي هو RESPECT NULLS.
  • عبارة OVER: العبارة التي تصف النوافذ. راجع: دوال النافذة.

المرتجعات

يتطابق نوع النتيجة مع expr.

إذا كانت offset القيمة موجبة، تنشأ القيمة من الصف الذي يسبق الصف الحالي بتحديد offset ORDER BY في عبارة OVER. تستخدم إزاحة 0 قيمة الصف الحالي. تستخدم الإزاحة السالبة القيمة من صف يتبع الصف الحالي. إذا لم تحدده offset افتراضيا إلى 1، فإن الصف التالي مباشرة.

إذا لم يكن هناك صف في الإزاحة المحددة داخل القسم، يتم استخدام المحدد default . الإعداد default الافتراضي هو NULL. يجب توفير عبارة ORDER BY.

هذه الدالة هي مرادف ل lead(expr, -offset, default).

الأمثلة

> SELECT a, b, lag(b) OVER (PARTITION BY a ORDER BY b)
    FROM VALUES ('A1', 2), ('A1', 1), ('A2', 3), ('A1', 1) tab(a, b);
 A1 1   NULL
 A1 1   1
 A1 2   1
 A2 3   NULL