Ir para conteúdo

POWERED BY:

Arquivado

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

pkr

select

Recommended Posts

e ai pessoal, to com uma duvidazinha aqui num select!!

 

tenho 3 tabelas :

 

noticia -> id_noticia, titulo, data...

noticia_categoria -> id, nome

noticia_comentario -> id_comentario, id_noticia, comentario...

 

 

quero fazer um select pra me retornar as 5 noticias mais comentadas...só to me perdendo onde fazer o count etc...alguem pode me ajudar??

 

abrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

faça o cout individual para cada noticia.

 

faça isso com subselect

 

se eu fizer pra você creio que sera mais dificiu você aprender mas não tem problema nehum se você quiser um auxilio mais preciso.

 

poste as duvidas vai ajudar mais gente.

 

primeira dica faça o subselect independente de join, dentro do subselect você vai fazer um join com o registro fora do sub select.

 

select a.tabela, b.tabela, (select max(a.sub_tabela) from tabela join tabela sub_tabela

id_tabela.tabela = id_tabela.sub_tabela) from tabela

 

lembrando que o resultado do subselect tem que retornar um valor unico por isso que estou usando o MAX pra retornar o mair valor do campo a dentro do subselect.

 

me fale o que você consegui com isso, e logo apos dar certo montaremos de acordo com o seu caso.

é primordial você entender isso.

 

t+...

Compartilhar este post


Link para o post
Compartilhar em outros sites

select count(c.id_comentario) total,n.quemvocequiser,c.quemvocequiser from noticia n,noticia_comentario c where n.id_noticia=c.id_noticia group by c.id_noticia order by total desc limit 5

 

Isso resolve.

 

Valewww...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Detalhe viu colega,

 

Jamais esqueça de ter índices em todos os campos que fará relacionamento e consulta.

 

noticia

deve ter índice em id_noticia incondicionalmente.

deve ter índice em titulo se você for fazer busca por título.

deve ter índice em data se você for fazer busca por data.

e assim sucessivamente.......

 

noticia_categoria

não entendi essa tabela sendo relacionada com nenhuma outra em função dos nomes dos campos.

 

noticia_comentario

id_comentario ??????

deve ter índice em id_noticia incondicionalmente.

 

Valewww...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Select id_noticia, titulo, data from noticia where id_noticia in

(

select id_noticia from noticia_comentario

group by id_noticia

ORDER BY count(id_noticia) DESC

limit 5

)

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.