Contador de linhas em consultas SQL

Publicado por Fábio Berbert de Paula em 15/04/2020

[ Hits: 4.383 ]

Blog: https://fabio.automatizando.dev

 


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

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.

Outras dicas deste autor

Python - capturar a saída do programa em um arquivo ou variável

Como atualizar o navegador padrão no Debian

Converter vídeos para formato suportado no WhatsApp

Copiando arquivos e diretórios ocultos com rsync

Docker - remover imagens não utilizadas (limpeza)

Leitura recomendada

Instalação do MSSQL-Server no CentOS 7

Editora Pearson lança este mês Ajax em ação

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

Exportar banco de dados SQLite para arquivo .sql

SQL: UNION ALL vs UNION e ordenação

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts