مشاركة عبر


عبارة OFFSET

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

يتخطى عددا من الصفوف التي تم إرجاعها بواسطة عبارة أو الاستعلام الفرعي. يتم استخدام هذه العبارة في الغالب بالاقتران مع LIMIT للصفحة من خلال مجموعة نتائج، وإنتاج ORDER BY نتيجة حتمية.

إشعار

عند ترحيل الصفحات عبر مجموعة نتائج باستخدام LIMIT والصفوف OFFSET التي تم تخطيها لا تزال تتم معالجتها. يتم منع هذه الصفوف فقط من مجموعة النتائج. لا ينصح بفصل الصفحات باستخدام هذه التقنية للاستعلامات كثيفة الموارد.

بناء الجملة

OFFSET integer_expression

المعلمات

  • integer_expression

    تعبير حرفي موجب يرجع عددا صحيحا.

الأمثلة

> CREATE TEMP VIEW person (name, age)
    AS VALUES ('Zen Hui', 25),
              ('Anil B' , 18),
              ('Shone S', 16),
              ('Mike A' , 25),
              ('John A' , 18),
              ('Jack N' , 16);

-- Select the 4th and 5th rows by alphabetical order.
> SELECT name, age FROM person ORDER BY name LIMIT 2 OFFSET 3;
  Mike A  25
 Shone S  16

-- Specifying ALL option on LIMIT and an OFFSET of zero, returns all the rows.
> SELECT name, age FROM person ORDER BY name LIMIT ALL OFFSET 0;
  Anil B  18
  Jack N  16
  John A  18
  Mike A  25
 Shone S  16
 Zen Hui  25

-- A constant function expression as an input to OFFSET.
> SELECT name, age FROM person ORDER BY name OFFSET length('SPARK');
 Zen Hui  25

-- A non-literal expression as an input to OFFSET is not allowed.
> SELECT name, age FROM person ORDER BY name OFFSET length(name);
Error: The offset expression must evaluate to a constant value