MySQL LIMIT (Português)

Resumo: neste tutorial, você aprenderá a usar MySQL LIMIT cláusula para restringir o número de linhas devolvidas por uma consulta.

Introduction to MySQL LIMIT clause

The LIMITclause is used in theSELECT statement to constrain the number of rows to return. A cláusula LIMIT aceita um ou dois argumentos. Os valores de ambos os argumentos devem ser inteiros zero ou positivos.,

a seguir ilustra O LIMIT sintaxe em cláusula com dois argumentos:

Code language: SQL (Structured Query Language) (sql)

nesta sintaxe:

  • offset especifica o deslocamento da primeira linha para retornar. O offset da primeira linha é 0, não 1.
  • o row_count especifica o número máximo de linhas a retornar.,

A figura a seguir ilustra o LIMIT cláusula:

Quando você usar o LIMIT cláusula com um argumento, o MySQL irá usar esse argumento para determinar o número máximo de linhas a retornar a partir da primeira linha do conjunto de resultados.,

Portanto, estas duas cláusulas são equivalentes:

Code language: SQL (Structured Query Language) (sql)

E

além da sintaxe acima, o MySQL fornece as seguintes alternativas LIMIT cláusula para compatibilidade com o PostgreSQL.

Code language: SQL (Structured Query Language) (sql)

limite e ordem pelas cláusulas

a SELECT declaração sem uma ORDER BY a cláusula devolve linhas numa ordem não especificada. Significa que as linhas podem estar em qualquer ordem., Quando aplicar a cláusula LIMIT a este conjunto de resultados não ordenado, não saberá quais as linhas que a consulta irá devolver.

Por exemplo, você pode querer passar a quinta até a décima filas, mas a quinta até a décima em que ordem? A ordem das linhas é desconhecida, a menos que você especifique a cláusula ORDER BY.

portanto, é uma boa prática usar sempre a cláusula LIMIT com a cláusula ORDER BY para restringir as linhas de resultado em ordem única.,

Code language: SQL (Structured Query Language) (sql)

a figura A seguir ilustra a ordem de avaliação de LIMIT cláusula SELECT instrução:

MySQL LIMITE de exemplos

vamos usar o customers tabela do banco de dados de exemplo para demonstração.,

1) Usando o MySQL LIMITE para obter o maior ou menor linhas

Esta instrução utiliza o LIMIT cláusula para obter os cinco primeiros clientes que têm o maior de crédito:

Code language: SQL (Structured Query Language) (sql)

Experimentá-Lo

neste exemplo:

  • Primeiro, ORDER BY cláusula classifica os clientes por créditos em alta para a mais baixa.,
  • Então, a cláusula LIMIT devolve as primeiras 5 linhas.

da mesma forma, este exemplo usa o LIMIT cláusula encontrar 5 os clientes que têm o menor número de créditos:

Code language: SQL (Structured Query Language) (sql)

Experimentá-Lo

neste exemplo:

  • Primeiro, ORDER BY cláusula classifica os clientes por créditos de alto a baixo.
  • Então, a cláusula LIMIT devolve as primeiras 5 linhas.,

porque há mais de 5 clientes que têm créditos zero, o resultado da consulta acima pode levar a um resultado inconsistente.,

Para corrigir esse problema, você precisará adicionar mais uma coluna para o ORDER BY cláusula para restringir a linha na única ordem:

Code language: SQL (Structured Query Language) (sql)

Experimentá-Lo

2) Usando o MySQL LIMITE para a paginação

Quando você exibir dados nas aplicações, muitas vezes você deseja dividir as linhas em páginas, onde cada página contém um determinado número de linhas, como 5, 10 ou 20.

para calcular o número de páginas, você obtém as linhas totais divididas pelo número de linhas por página., Para obter linhas de uma página específica, você pode usar a cláusula LIMIT.

Esta consulta utiliza o COUNT(*) função de agregação para obter o total de linhas a partir de customers tabela:

Code language: SQL (Structured Query Language) (sql)
Code language: JavaScript (javascript)

Suponha que cada página tem 10 linhas, para apresentar 122 clientes você tem 13 páginas. A última 13ª página contém apenas duas linhas., LIMIT cláusula para obter linhas da página 1, que contém as primeiras 10 clientes ordenados por nome do cliente:

Code language: SQL (Structured Query Language) (sql)

Experimentá-Lo

Esta consulta utiliza o LIMIT cláusula para obter as linhas da segunda página que incluem linha 11 – 20:

Code language: SQL (Structured Query Language) (sql)

Experimentá-Lo

neste exemplo, a cláusula LIMIT 10, 10 retorna 10 linhas para a linha 11 – 20.,

3) Usando o MySQL LIMITE para obter o n-ésimo maior ou menor valor

Para obter o n-ésimo maior ou menor valor, use a seguinte tag LIMIT cláusula:

Code language: SQL (Structured Query Language) (sql)

A cláusula LIMIT n-1, 1 retorna 1 linha de partida na linha n.

Por exemplo, a seguinte encontra o cliente que possui a segunda maior crédito:

Code language: SQL (Structured Query Language) (sql)

Experimentá-Lo

Vamos verificar o resultado., Esta consulta retorna todos os clientes classificados por créditos de alto para baixo:

Code language: SQL (Structured Query Language) (sql)

Experimentá-Lo

Como você pode ver claramente a partir da saída, o resultado foi correto, conforme o esperado.Note que esta técnica funciona quando não há dois clientes com os mesmos limites de crédito. Para obter um resultado mais preciso, você deve usar a funçãoDENSE_RANK() window.,

neste tutorial, você aprendeu como usar o MySQL LIMIT cláusula para restringir o número de linhas retornadas por SELECT instrução.

  • este tutorial foi útil?
  • YesNo

Author: admin

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *