Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mldiogo87

Fazer ranking de usuarios pela quantidade de fotos

Recommended Posts

Bom dia,

 

Tenho 2 tabelas:

 

TABELA FOTOS COM OS CAMPOS: NOME, USUARIO, LUGAR

TABELA USUARIOS COM OS CAMPOS: NOME 

 

Preciso fazer um ranking dos usuarios, contabilizado pela quantidade de fotos de cada usuário.

 

Alguém teria uma luz da melhor maneira de fazer ?

 

Grato

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Select com JOIN , SUM e GROUP BY ordenando o total de forma descendente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu estudei e cheguei em uma consulta, mais ou menos assim :

 

SELECT usuario, COUNT(*)  
FROM fotos       
GROUP BY usuario; 

Mas a questão é que neste caso ele iria exibir o ranking completo, e eu só preciso exibir o ranking individual, por pessoa.

Tentei utilizar assim:

 

SELECT usuario, COUNT(*)  
FROM fotos       
GROUP BY usuario WHERE usuario = idusuario; 

Mas não obtive muito sucesso.

 

Grato

Compartilhar este post


Link para o post
Compartilhar em outros sites

Exibir somente a posição do Ranking do usuário "x".

 

Vai ter uma página com informações sobre o o usuário e nela vou colocar " Bem vindo usuário X, sua posição no ranking é ...."

 

Entendeu ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

 

select *
from
(
select @contador := @contador + 1 AS ordem,
       usuario
from
(
SELECT usuario, COUNT(*) qtd
FROM fotos       
GROUP BY usuario
order by COUNT(*) desc
) virtual ) virtual2
where usuario = '...'

 

vide também

https://pt.stackoverflow.com/questions/43888/numeração-sequencial-dos-resultados-de-uma-query

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado...Vou ter que dar uma estudada porque foi muito além do meu conhecimento, principalmente porque tenho que aplicar em PDO.

 

Qual seria a variável, nesta consulta, que retornaria a posição ? $ordem?

 

Mas obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei a variável , apenas lembrei de um tópico em que dei uma sugestão para Oracle , mas no Oracle é bem mais simples.

Mas vale a ideia básica

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.