Ir para conteúdo

Arquivado

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

diasgabrie

ranking de hashtags

Recommended Posts

bom dia pessoal,

 

tenho a seguinte tabela:

 

 

hashtags

id - hashtag - data

os registros ficam:

 

1 - #legal - horadata

2 - #legal - horadata

3 - #bonito - horadata

4 - #bonito - horadata

5 - #legal - horadata

6 - #joao - horadata

 

queria dar um select de forma que me retornasse eles em ranking, tipo:

 

#Legal

#bonito

#joao

 

teria como? ou seja, tenho 3 #legal, 2 #bonito e 1 #joao.

 

pensei em colocar update table quando tivesse já o registro e por um campo para ir somando o valor, mas acontece que de hora em hora são apagados os registros antigos para o ranking ser da ultima hora, então apagariam todos os registros e não daria certo.

 

Enfim, como eu poderia classificar pelo número de registros e agrupados por tal registro para não mostrar a mesma hashtag repetida?

 

muito obrigada

Compartilhar este post


Link para o post
Compartilhar em outros sites

Buenas...

 

Acho que você poderia fazer o seguinte:

select * from
(select hashtag, count(hashtag) as rank from hashtags group by hashtag) t
order by rank desc

Essa é a maneira simples de se fazer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Concordo com Marlon Pacheco.

 

Você não precisa apagar os registros antigos, por conter o campo de hora e data, você pode jogar dentro do WHERE:

SELECT * FROM
(SELECT hashtag, COUNT(hashtag) AS rank FROM hashtags WHERE horadata >= DATE_ADD(NOW(), INTERVAL -1 HOUR) GROUP BY hashtag) t
ORDER BY rank DESC

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.