usando group by e order by juntos

1,889 views
Skip to first unread message

Fernando Queiroz

unread,
Dec 26, 2012, 11:44:48 AM12/26/12
to cakep...@googlegroups.com
Olá amigos,

tenho uma dúvida, estou trabalhando com 2 tabelas Posts e Categorias, em uma determinada query quero exibir na minha home apenas 1 post de cada categoria, o último. Como se fosse a home de um fórum.

Estou conseguindo exibir 1 post de cada categoria, porém não consigo que estes sejam os últimos registrados.

Segue meu código usando group by e order by juntos
http://bin.cakephp.org/saved/84693

Alguém por acaso já passou por este clássico problema?

Agradeço desde já! Obrigado!

Dayvison Silva

unread,
Dec 27, 2012, 6:53:59 PM12/27/12
to cakep...@googlegroups.com
Se não estou enganado, vc esta usando o array order e group na posicao do array do conditions, coloque uma condição qq ou tente passar um null ali.

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque está inscrito no grupo "CakePHP Tuga" dos Grupos do Google.
 
Para publicar uma mensagem neste grupo, envie um e-mail para cakep...@googlegroups.com.
Para anular a inscrição neste grupo, envie um e-mail para cakephp-pt+...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt?hl=pt-PT.
 
 



--
Dayvison Silva

Analista Desenvolvedor Web
Cel: 9282-7752

Andrei Sena

unread,
Jan 6, 2013, 7:12:46 AM1/6/13
to cakep...@googlegroups.com
Bom dia,

O MySQL agrupa primeiro para depois ordenar e o que você quer é justamente o contrário. Você teria que fazer um select ordenando e desse select agrupar. Algo mais ou menos assim:

SELECT Post.*
FROM
(SELECT * FROM posts ORDER BY id DESC) AS Post
GROUP BY
Post.categoria_id
ORDER BY
Post.id ASC

Dá uma olhada nesse link do manual que mostra como criar queries complexas e sub-queries.

Reply all
Reply to author
Forward
0 new messages