Partager via


LIMIT, clause

S’applique à : case marquée oui Databricks SQL case marquée oui Databricks Runtime

Limite le nombre de lignes renvoyées par la requête. En général, cette clause est utilisée conjointement avec ORDER BY pour s’assurer que les résultats sont déterministes.

Syntaxe

LIMIT { ALL | integer_expression }

Paramètres

  • ALL

    Si ce paramètre est spécifié, la requête renvoie toutes les lignes. En d’autres termes, aucune limite n’est appliquée si cette option est spécifiée.

  • integer_expression

    Expression littérale qui renvoie un entier.

Exemples

> 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