OFFSET-sats
Gäller för: Databricks SQL Databricks Runtime 11.3 LTS och senare
Hoppar över ett antal rader som returneras av en instruktion eller underfråga.
Den här satsen används främst tillsammans med LIMIT för att bläddra igenom en resultatuppsättning och ORDER BY
för att skapa ett deterministiskt resultat.
Kommentar
När du går igenom en resultatuppsättning med och LIMIT
OFFSET
de överhoppade raderna fortfarande bearbetas.
Dessa rader utelämnas bara från resultatuppsättningen.
Sidnumrering med den här tekniken rekommenderas inte för resursintensiva frågor.
Syntax
OFFSET integer_expression
Parametrar
integer_expression
Ett positivt literaluttryck som returnerar ett heltal.
Exempel
> 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