LIMIT clause
Applies to: Databricks SQL Databricks Runtime
Constrains the number of rows returned by the Query. In general, this clause is used in conjunction with ORDER BY to ensure that the results are deterministic.
Syntax
LIMIT { ALL | integer_expression }
Parameters
ALL
If specified, the query returns all the rows. In other words, no limit is applied if this option is specified.
integer_expression
A literal expression that returns an integer.
Examples
> 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