Contador de linhas em consultas SQL

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

[ Hits: 3.990 ]

Blog: https://www.instagram.com/alexabolada/

 


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

Javascript - pegar um elemento aleatório de uma lista

Contabilizando Linhas e Palavras de um Projeto com Shell Script

Docker: "ps: command not found" [Resolvido]

netrw - o explorador de arquivos nativo do Vim

Listar processos por consumo de memória

Leitura recomendada

Melhor escolha, melhor performance (banco de dados)

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

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

SQL: UNION ALL vs UNION e ordenação

Lazarus: Banco nativo usando sdfdataset com formato CSV

  

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