Pular para o conteúdo principal
A cláusula LIMIT controla quantas linhas são retornadas no resultado da sua consulta.

Sintaxe básica

Selecione as primeiras linhas:
LIMIT m
Retorna as primeiras m linhas do resultado, ou todos os registros se houver menos de m. Sintaxe alternativa de TOP (compatível com o MS SQL Server):
-- SELECT TOP número|percentual nome_da(s)_coluna(s) FROM nome_da_tabela
SELECT TOP 10 * FROM numbers(100);
SELECT TOP 0.1 * FROM numbers(100);
Isso equivale a LIMIT m e pode ser usado por compatibilidade com consultas do Microsoft SQL Server. SELECT com OFFSET:
LIMIT m OFFSET n
-- ou de forma equivalente:
LIMIT n, m
Ignora as primeiras n linhas e retorna as próximas m linhas. Em ambas as formas, n e m devem ser inteiros não negativos.

Limites negativos

Selecione linhas do fim do conjunto de resultados usando valores negativos:
SintaxeResultado
LIMIT -mÚltimas m linhas
LIMIT -m OFFSET -nÚltimas m linhas após ignorar as últimas n linhas
LIMIT m OFFSET -nPrimeiras m linhas após ignorar as últimas n linhas
LIMIT -m OFFSET nÚltimas m linhas após ignorar as primeiras n linhas
A sintaxe LIMIT -n, -m é equivalente a LIMIT -m OFFSET -n.

Limites fracionários

Use valores decimais entre 0 e 1 para selecionar uma porcentagem das linhas:
SintaxeResultado
LIMIT 0.1Primeiros 10% das linhas
LIMIT 1 OFFSET 0.5A linha mediana
LIMIT 0.25 OFFSET 0.5Terceiro quartil (25% das linhas após pular os primeiros 50%)
  • As frações devem ser valores Float64 maiores que 0 e menores que 1.
  • Contagens fracionárias de linhas são arredondadas para o número inteiro seguinte.

Combinando tipos de LIMIT

Você pode combinar inteiros padrão com offsets fracionários ou negativos:
LIMIT 10 OFFSET 0.5    -- 10 linhas a partir do ponto médio
LIMIT 10 OFFSET -20    -- 10 linhas após ignorar as últimas 20

LIMIT … WITH TIES

O modificador WITH TIES inclui linhas adicionais com os mesmos valores de ORDER BY da última linha dentro do limite.
SELECT * FROM (
    SELECT number % 50 AS n FROM numbers(100)
) ORDER BY n LIMIT 0, 5
┌─n─┐
│ 0 │
│ 0 │
│ 1 │
│ 1 │
│ 2 │
└───┘
Com WITH TIES, todas as linhas com o mesmo último valor são incluídas:
SELECT * FROM (
    SELECT number % 50 AS n FROM numbers(100)
) ORDER BY n LIMIT 0, 5 WITH TIES
┌─n─┐
│ 0 │
│ 0 │
│ 1 │
│ 1 │
│ 2 │
│ 2 │
└───┘
A linha 6 é incluída porque tem o mesmo valor (2) da linha 5. O mesmo acontece quando o offset é especificado com a palavra-chave OFFSET:
SELECT * FROM (
    SELECT number % 50 AS n FROM numbers(100)
) ORDER BY n LIMIT 3 OFFSET 2 WITH TIES
┌─n─┐
│ 1 │
│ 1 │
│ 2 │
│ 2 │
└───┘
Pular as 2 primeiras linhas e retornar 3 normalmente resultaria em 1, 1, 2, mas o segundo 2 é incluído porque tem o mesmo valor da última linha.
WITH TIES não é compatível com limites negativos.
Esse modificador pode ser combinado com o modificador ORDER BY ... WITH FILL.

Considerações

Resultados não determinísticos: Sem a cláusula ORDER BY, as linhas retornadas podem ser arbitrárias e variar entre execuções da consulta. Limite no servidor: O número de linhas retornadas também pode ser afetado pela configuração limit.

Veja também

  • LIMIT BY — Limita o número de linhas por grupo de valores, útil para obter os N principais resultados em cada categoria.
Última modificação em 10 de junho de 2026