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
Ajuda Com Esse Select
Started By enthroned, 09/02/2009, 22:21
4 replies to this topic
#1
Posted 09/02/2009, 22:21
=]
#2
Posted 10/02/2009, 09:03
Opa tenta isso aki ó
Select top 5 COUNT(c.id_noticia) as total,c.id_comentario,c.id_noticia, n.titulo, n.data FROM noticia_comentario c INNER JOIN noticia n ON c.id_noticia = n.id_noticia GROUP BY c.id_noticia,c.id_comentario,n.titulo, n.data ORDER BY COUNT(c.id_noticia) DESC
Edição feita por: dddj, 10/02/2009, 09:12.
Djavan Loureiro - SEO Marketing - Search Engine Optimization - Otimização de Sites
Coloque seu site no topo dos sistemas de busca - Projeto SEM - Visitem o site.
Coloque seu site no topo dos sistemas de busca - Projeto SEM - Visitem o site.
#3
Posted 10/02/2009, 09:24
nao funcionou...
eu nunca vi isso ali, existe "select top 5" ?? hehehe
eu dei uma arrumada e funcionou em partes...mas esse teu SQL soh pega a noticia e ordena...eu precisaria de mais um join ou algo assim pra pegar o nome da categoria na outra tabela...
eu nunca vi isso ali, existe "select top 5" ?? hehehe
eu dei uma arrumada e funcionou em partes...mas esse teu SQL soh pega a noticia e ordena...eu precisaria de mais um join ou algo assim pra pegar o nome da categoria na outra tabela...
=]
#4
Posted 10/02/2009, 10:06
Desculpa coloquei o sql que funciona no SQL SERVER. No Mysql vc tem que usar o limit
Select COUNT(c.id_noticia) as total,c.id_comentario,c.id_noticia, n.titulo, n.data, ct.nome FROM noticia n INNER JOIN noticia_comentario c ON c.id_noticia = n.id_noticia INNER JOIN noticia_categoria ct ON ct.id_categoria = n.id_categoria GROUP BY c.id_noticia,c.id_comentario,n.titulo, n.data,ct.nome ORDER BY COUNT(c.id_noticia) DESC LIMIT 5
Edição feita por: dddj, 10/02/2009, 10:07.
Djavan Loureiro - SEO Marketing - Search Engine Optimization - Otimização de Sites
Coloque seu site no topo dos sistemas de busca - Projeto SEM - Visitem o site.
Coloque seu site no topo dos sistemas de busca - Projeto SEM - Visitem o site.
#5
Posted 10/02/2009, 10:21
blz...valeu!!
eu dei uma ajeitada e ficou assim:
dai ficou como eu queria....valeu pela ajuda!!
eu dei uma ajeitada e ficou assim:
SELECT COUNT( c.id_noticia ) AS total, c.id_noticia, n.titulo, n.data_hora, ct.nome FROM iv_noticias n INNER JOIN iv_noticia_comentario c ON c.id_noticia = n.id_noticia INNER JOIN noticias_categorias ct ON ct.id = n.id_categoria GROUP BY c.id_noticia ORDER BY total DESC LIMIT 5
dai ficou como eu queria....valeu pela ajuda!!
=]
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)