مشاركة عبر


عبارة إطار النافذة

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

تحديد مجموعة فرعية منزلقة من الصفوف داخل القسم الذي تعمل عليه دالة النافذة التجميعية أو التحليلية.

بناء الجملة

{ frame_mode frame_start |
  frame_mode BETWEEN frame_start AND frame_end } }

frame_mode
{ RANGE | ROWS }

frame_start
{ UNBOUNDED PRECEDING |
  offset_start PRECEDING |
  CURRENT ROW |
  offset_start FOLLOWING }

frame_end
{ offset_stop PRECEDING |
  CURRENT ROW |
  offset_stop FOLLOWING |
  UNBOUNDED FOLLOWING }

المعلمات

  • frame_mode

    • الصفوف

      إذا تم تحديده، يتم التعبير عن إطار النافذة المنزلقة من حيث الصفوف التي تسبق الصف الحالي أو تتابعه.

    • نطاق

      إذا تم تحديدها، يجب أن تحدد دالة النافذة عبارة ORDER BY مع تعبير obExprواحد .

      ثم يتم التعبير عن حدود النافذة المنزلقة كإزاحة obExpr من للصف الحالي.

  • frame_start

    موضع البداية لإطار النافذة المنزلقة بالنسبة إلى الصف الحالي.

    • سابق غير مقيد

      يحدد أن إطار النافذة يبدأ في بداية القسم.

    • offset_start السابقة

      إذا كان الوضع هو ROWS، offset_start فهو الرقم الحرفي الموجبة المتكامل الذي يحدد عدد الصفوف قبل الصف الحالي الذي يبدأه الإطار.

      إذا كان الوضع هو RANGE، offset_start فهو قيمة حرفية موجبة لنوع يمكن طرحه من obExpr. يبدأ الإطار في الصف الأول من القسم الذي obExpr يكون أكبر أو يساوي obExpr - offset_start في الصف الحالي.

    • CURRENT ROW

      تحديد أن يبدأ الإطار في الصف الحالي.

    • offset_start المتابعة

      إذا كان الوضع هو ROWS، offset_start فهو الرقم الحرفي الموجبة المتكامل الذي يحدد عدد الصفوف التي تجاوزت الصف الحالي الذي يبدأ به الإطار. إذا كان الوضع هو RANGE، offset_start فهو قيمة حرفية موجبة لنوع يمكن إضافته إلى obExpr. يبدأ الإطار في الصف الأول من القسم الذي obExpr يكون أكبر أو يساوي obExpr + offset_start في الصف الحالي.

  • frame_stop

    نهاية إطار النافذة المنزلقة بالنسبة إلى الصف الحالي.

    إذا لم يتم تحديده، يتوقف الإطار عند الصف الحالي. يجب أن تكون نهاية النافذة المنزلقة أكبر من بداية إطار النافذة.

    • offset_start السابقة

      إذا كان frame_mode هو ROWS، offset_stop فهو الرقم الحرفي الموجبة المتكامل الذي يحدد عدد الصفوف التي يتوقف الإطار قبل الصف الحالي. إذا كانت frame_mode هي RANGE، offset_stop فهي قيمة حرفية موجبة من نفس النوع مثل offset_start. ينتهي الإطار عند الصف الأخير خارج القسم الذي obExpr يكون أقل من أو يساوي obExpr - offset_stop في الصف الحالي.

    • CURRENT ROW

      يحدد أن الإطار يتوقف عند الصف الحالي.

    • offsetStop FOLLOWING

      إذا كان frame_mode هو ROWS، offset_stop فهو الرقم الحرفي الموجبة المتكامل الذي يحدد عدد الصفوف التي تجاوزت الصف الحالي الذي ينتهي به الإطار. إذا كانت frame_mode هي RANGE، offset_stop فهي قيمة حرفية موجبة من نفس النوع مثل offset_start. ينتهي الإطار عند الصف الأخير من القسم الذي obExpr يكون أقل من أو يساوي obExpr + offset_stop في الصف الحالي.

    • متابعة غير مقيدة

      يحدد أن إطار النافذة يتوقف في نهاية القسم.