Ir para conteúdo

POWERED BY:

Arquivado

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

Rafael Pelizza

[Resolvido] Consulta "TOP 5"

Recommended Posts

Fala galera!

Seguinte, tenho uma tabela chamada TOP5 e dentro dessa tabela tenho os campos ID_TOP e NOME_TOP..

O ID_TOP é chave primária, auto-increment e o NOME_TOP funciona da seguinte maneira:

Cada vez que um usuario faz o login no site, eh salvo o nome de login dele no NOME_TOP, se ele logou e deslogou 10 vezes, será salvo 10 vezes, certo?

Então digamos que eu tenha lá que o joão logou 10 vezes, a maria 5, o paulo 3, o claudio 2 e o josé 1 vez, tudo isso misturado, tipo:

 

ID_TOP | NOME_TOP

1 | maria

2 | joao

3 | maria

4 | paulo

5 | jose

6 | claudio

7 | joao

e assim por diante... como eu faço uma consulta nessa tabela pra que ela me liste o "TOP 5"? retornando q em 1 lugar esta o joao, em 2 lugar a maria, 3 paulo, etc..

Eu não manjo mto de mysql, na vdd mtoo pouco mesmo...

Tentei os seguintes códigos que uns amigos me ajudaram, mas não consegui.. to procurando sobre isso já faz 3 dias e nada..

 

<?php
$SQL = mysql_query("select * from top5 where nome_top in(select nome_top from top5 group by nome_top having count(*) > 1) order by nome_top");
while($data = mysql_fetch_assoc($SQL))
{
 echo $data["nome_top"].'<br/>';
}
?>

 

e

 

<?php
$SQL = mysql_query("SELECT DISTINCT * FROM `top5` ORDER BY `nome_top` ASC LIMIT 0,5");
while($data = mysql_fetch_assoc($SQL))
{
 echo $data["nome_top"].'<br/>';
}
?>

 

não consegui =/ se alguém puder me ajudar ou me dar uma dica eu agradeço mto! vlw

 

tentei tbm esse código, mas não tá me retornando nada Oo...

nenhum valor, nenhum erro, nada de nada..

helppp

 

<?php
$SQL = mysql_query("SELECT COUNT(NOME_TOP) FROM TOP5 GROUP BY NOME_TOP ASC LIMIT 0,10");
while($data = mysql_fetch_assoc($SQL))
 {
   echo $data["nome_top"].'<br/>';
 }
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não se apavore amigo Rafael ^_^

 

Tente o seguinte:

 

SELECT COUNT(*) AS qtd_login, nome_top FROM top5 GROUP BY nome_top ORDER BY 1 DESC LIMIT 0,5

A query acima vai mostrar os 5 mais logados. Se desejar ver mais registros basta aumentar o número 5 para

o desejado. Se desejar ver todos os registros basta remover o limit. Ex:

 

SELECT COUNT(*) AS qtd_login, nome_top FROM top5 GROUP BY nome_top ORDER BY 1 DESC

Qualquer dúvida poste ae.

 

 

Abraços.

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.