LIMIT 句

適用対象:「はい」のチェック マーク Databricks SQL 「はい」のチェック マーク Databricks Runtime

クエリによって返される行数を制限します。 一般に、この句は、結果が確定的であることを確認するために、 ORDER BY と組み合わせて使用されます。

構文

LIMIT { ALL | integer_expression }

パラメーター

  • ALL

    指定した場合、クエリはすべての行を返します。 つまり、このオプションを指定した場合、制限は適用されません。

  • integer_expression

    整数を返すリテラル式。 式が折りたたみ可能でない場合、整数型でない場合、NULL に評価される場合、または負の値に評価Azure Databricks、INVALID_LIMIT_LIKE_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 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: INVALID_LIMIT_LIKE_EXPRESSION

-- A negative LIMIT is not allowed.
> SELECT name, age FROM person LIMIT -1;
  Error: INVALID_LIMIT_LIKE_EXPRESSION