Ir para conteúdo

POWERED BY:

Arquivado

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

asp.net

Últimos Post de cada usuário.

Recommended Posts

Tenho duas tabelas com a seguinte estrutura:Tabela Usuario:idnomesobrenomeTabela Blogs:idusuario [chave estrangeira da tabela usuario]datatitulotextoPois bem estou precisando pegar a última postagem de cada usuário, ouseja a postagem mais recente do usuário A, a do usuário B, usuário C eassim vai, como faço isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

com subquery dá.. mas não é a melhor forma se sua tabela for grande.. pq pode ficar lento, muito lento... ai poderia tentar com group by usando having como filtro...

 

SELECT a.*, b.*FROM(SELECT usu.*,ultimo_post = (SELECT id FROM post WHERE post.usuario = usu.id ORDER BY data DESC LIMIT 1)FROM usuario usuWHERE usuario IN (12,13,14,15,18)) AINNER JOIN post B ON a.ultimo_post = b.id

bom. ahuauah.. aqcho q naum ficou legal..ahuhauahu.. tipo nem sei se o mysql aceita order em subquery... ou se mesmo suporta subquery na versão q você está usando... muito menos se esta query vai funcionar... mas vale a intenção... hehehehe

 

qdo conseguir, posta no forum para ajudar q tiver a mesma dúvida, ok?

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Experimenta com:

 

SELECT usuario.id,	   usuario.nome,	   usuario.sobrenome,	   blogs.data,	   blogs.titulo,	   blogs.textoFROM usuario,	 blogsWHERE usuario.id = blogs.usuarioORDER BY blogs.data DESC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no caso eu não estou trazendo apenas o último post de cada usuário e sim os post em ordem cronológica, usando este exemplo se o usuário B postar duas vezes no mesmo dia ele vai trazer dos post deste usuário. Eu tenho que fazer assim, separar os post de cada usuário e depois trazer apenas o 1 da lista, tenho que usar o comando Limit para trazer apenas o primeiro post que vai estar na ordem decrescente.

 

Versão 4.0.26 - nt

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso o problema é que a versão do MySQL não permiti SubQuery, agora tenho a opção de migrar para o 5.0 isto iria causar incompatibilidade nos comando Select Insert usados na versão 4.0.26?

Compartilhar este post


Link para o post
Compartilhar em outros sites

... isto iria causar incompatibilidade nos comando Select Insert usados na versão 4.0.26?

Até onde sei, não atrapalha em nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer o seguinte:Faça um select que pegue os IDs dos usuarios, depois disto faça um loop para cada usuario e use o SQL que o Eclisiastes te passou limitando o resultado por usuario e pela clausula LIMIT...Ai você vai ter com certeza somente o ultimo registro dele... (sugestão)

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.