Ir para conteúdo

POWERED BY:

Arquivado

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

Braulio Holtz

Contar registros de uma tabela e relacionar com outra

Recommended Posts

Estou fazendo um esquema semelhante a um curtir do Facebook, basicamente tem uma tabela que tem os dados e uma outra separada para que quando a pessoa curtir (ou seguir) insere nessa outra tabela (sg_like) que tal usuario curtiu.

tabela sg_user

user_id

user_name

password

 

 

tabela sg_like

like_id

user_from_id

user_to_id

 

Até tudo isso tranquilo, agora o problema que eu quero solucionar é selecionar os 5 mais like, queria algum código que não gastasse muito do processamento (já que eu pretendo ter muitos registros), alguma ideia?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, passei as informações da tabela, basicamente seria assim

Tabela sg_user

 

user_id - user_name - password
1 - teste - 45435

2 - hello - 46541

3 - hello3 - 46541

 

Tabela sg_like

 

like_id - user_from_id - user_to_id

1 - 1 - 2
2 - 1 - 3

3 - 2 - 2

 

Então, como tem dois registros com user_to_id do usuário 2, apareceria primeiro o do usuário 2 (hello) e em seguida o usuário hello3.

O SQL seria algo como SELECT laala FROM sg_user as u INNER JOIN sg_like as l ON u.user_id = l.user_to_id ?

Poderia ser feito completando com ORDER BY count(user_to_id)?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente isto , falta o limit, não sei a síntaxe correta

SELECT u.user_id,count(l.user_to_id) qtd
FROM sg_user as u 
  INNER JOIN sg_like as l ON u.user_id = l.user_to_id
group by u.user_id
order by 2 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.