Compartir a través de


OFFSET, cláusula

Se aplica a: casilla marcada como sí Databricks SQL casilla marcada como Sí Databricks Runtime 11.3 LTS y versiones posteriores

Salta un número máximo de filas devuelto por una instrucción o subconsulta. Esta cláusula se usa principalmente en combinación con LIMIT para paginar a través de un conjunto de resultados y ORDER BY para generar un resultado determinista.

Nota:

Al paginar un conjunto de resultados mediante LIMIT y OFFSET, las filas omitidas se siguen procesando. Estas filas simplemente se suprimen del conjunto de resultados. No se recomienda la paginación con esta técnica con consultas que consumen muchos recursos.

Sintaxis

OFFSET integer_expression

Parámetros

  • integer_expression

    Expresión literal positiva que devuelve un entero.

Ejemplos

> 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