LIMIT-Klausel

Gilt für:durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Beschränkt die Anzahl der Zeilen, die von der Abfrage zurückgegeben werden. Im Allgemeinen wird diese Klausel in Verbindung mit ORDER BY verwendet, um sicherzustellen, dass die Ergebnisse deterministisch sind.

Syntax

LIMIT { ALL | integer_expression }

Parameter

  • ALL

    Wenn dieser Parameter angegeben wird, gibt die Abfrage alle Zeilen zurück. Anders ausgedrückt: Wenn diese Option angegeben wird, wird kein Grenzwert angewendet.

  • integer_expression

    Ein Literal-Ausdruck, der eine ganze Zahl zurückgibt.

Beispiele

> 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 first two rows.
> SELECT name, age FROM person ORDER BY name LIMIT 2;
 Anil B  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 returns all the rows.
> SELECT name, age FROM person ORDER BY name LIMIT ALL;
  Anil B  18
  Jack N  16
  John A  18
  Mike A  25
 Shone S  16
 Zen Hui  25

-- A function expression as an input to LIMIT.
> SELECT name, age FROM person ORDER BY name LIMIT length('SPARK');
  Anil B  18
  Jack N  16
  John A  18
  Mike A  25
 Shone S  16

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