Pular para o conteúdo

Contador de linhas em consultas SQL

Dica publicada em Banco de Dados / Avançado
Fábio Berbert de Paula fabio
Hits: 5.220 Categoria: Banco de Dados Subcategoria: Avançado
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Contador de linhas em consultas SQL

Essa dica vai para quem tem a necessidade de implementar um contador de linhas no resultado de uma consulta SQL. A sintaxe da dica foi testada em MySQL/MariaDB, não garanto que irá funcionar em outros tipos de banco de dados. Se você utiliza outro, teste e comente aqui.

Vamos lá, supondo que tenho uma tabela "pessoas" e quero a lista de nomes em ordem alfabética:

SELECT nome FROM pessoas ORDER BY nome
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Resultado:

Alberto
Bianca
Camilo
Luiza
...


Mas, e se eu quiser enumerar as pessoas implementando um contador? Ao invés de jogar isso para a lógica do teu código, podemos usar o SQL para nos ajudar:

SELECT
   @num = @num + 1 as ordem,
   nome
FROM pessoas
CROSS JOIN (SELECT @num := 0) n
ORDER BY nome

Resultado:

1, Alberto
2, Bianca
3, Camilo
4, Luiza
...


A mágica foi possível declarando-se a variável "@num" com valor 0 dentro da "CROSS JOIN", enquanto que a query principal se encarregou de incrementar o contador.

Simples assim! Espero ter ajudado.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Como somar todos os números contidos num arquivo texto

Unity - Atalhos para captura de tela

PHP: Substituindo somente a primeira ocorrência de uma palavra na string

Vim - como executar uma linha do texto no terminal

Como instalar última versão Node.js via repositório no Ubuntu, Debian e derivados

Adicionando campos de arquivo csv em componente do lazarus

Informix: Adicionando um chunk

Case e concatenação no SQL - Ajuste de ordem ou posição na tabela

Informix, administração básica

Exportar banco de dados SQLite para arquivo .sql

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.