Ir para conteúdo

POWERED BY:

Arquivado

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

cg-auto

Uma simples ordenação?

Recommended Posts

Galera, estou com um probleminha na minha consulta.. Não estou conseguindo fazer uma simples ordenação..

Podem me ajudar??

 

Eu estou fazendo uma ordenação decrecente de idMsg.

Quando eu coloco o seguinte SQL:

SELECT idMsg, idUsuario, idTopico
FROM mensagens
ORDER BY idMsg DESC
LIMIT 0,10;

A SAÍDA É ESPERADA:

idMsg idUsuario idTopico

5843 2 513

5842 317 565

5841 317 558

5840 317 513

5839 283 562

5838 2 558

5837 291 558

5836 2 568

5835 2 459

5834 244 568

 

Mas eu não gostaria que repetisse os "idTopico" então alterei o SQL da seguinte forma:

SELECT DISTINCT(idTopico), idMsg, idUsuario
FROM mensagens
ORDER BY idMsg DESC
LIMIT 0,10;

ELE CONTINUOU DA MESMA MANEIRA:

idTopico idUsuario idMsg

513 5843 2

565 5842 317

558 5841 317

513 5840 317

562 5839 283

558 5838 2

558 5837 291

568 5836 2

459 5835 2

568 5834 244

Após coloquei um "group by" idTopico (aí que ferrou com td)

SELECT DISTINCT(idTopico), idMsg, idUsuario
FROM mensagens
GROUP BY idTopico
ORDER BY idMsg DESC
LIMIT 0,10;

idTopico idUsuario idMsg

568 5833 107

566 5817 344

565 5816 344

564 5756 245

563 5731 205

562 5728 107

561 5707 344

560 5694 245

559 5672 2

558 5663 291

Notem que ele não ta mais pegando o ultimo idMsg de cada tópico (é o que eu quero).

 

Como posso resolver?

 

 

Grande abraço galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT

idTopico, max(idMsg) max_idMsg , idUsuario

FROM mensagens

GROUP BY idTopico, idUsuario

ORDER BY idMsg DESC

LIMIT 0,10;

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT

idTopico, max(idMsg) max_idMsg , idUsuario

FROM mensagens

GROUP BY idTopico, idUsuario

ORDER BY idMsg DESC

LIMIT 0,10;

Opa, beleza giesta?

 

Cara, valeu a ajuda mas ainda não deu...

Ele não ta buscando o ultimo post de cada tópico. :(

 

Será que tem alguma outra solução?

 

 

Grande abraç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.