Ir para conteúdo

POWERED BY:

Arquivado

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

diasgabrie

problema com group by, mostrar ultimo registro?

Recommended Posts

bom dia pessoal,

gostaria, se possivel, da ajuda de vcs.

tenho a tabela CHAT com os campos:

id
from //quem enviou a mensagem
to // quem recebeu
message //a mensagem
sent // data
recd // 0 ou 1 se foi lida ou não

quero agrupar as mensagens de um mesmo usuário, mostrar a ultima mensagem e a data da ultima mensagem desde usuário (é como o inbox do facebook)

 

se faço:

SELECT * FROM `chat` where `to`='$user' group by `from`

ele me retorna os dados do primeiro insert agrupados. como faço para o select me retornar os dados do ultimo insert de cada usuario agrupado pelo from?

 

muito obrigada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Usando o order by nomedocampo desc nao funfa?

 

 

olá, você diz se eu colocar o order by id desc?

SELECT * FROM `chat` where `to`='$user' group by `from` order by id desc

não funciona, ele agrupa a mensagem de um determinado usuário, mas agrupa pela primeira mensagem desse usuário, queria que ele agrupasse e mostrasse a ultima. o order by só vai ordenar pelo id das agrupadas.

 

por exemplo:

id from to message sent recd
1 a b oi data 0
2 a b oi2 data 0
3 a b oi3 data 0
4 b c oi4 data 0
5 b c oi5 data 0

com esse select ele mostra:

4 b c oi4 data 0
1 a b oi data 0
queria mostrar:
5 b c oi5 data 0
3 a b oi3 data 0

ou seja, queria que ele agrupasse e mostrasse a ultima mensagem nesse agrupamento, não a primeira de cada grupo, agrupando pelo FROM.

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.