Doctrine:DQL查询中的HAVING子句

3
我正在使用Symfony2开发一个简单的论坛,并有以下DQL查询以获取每个论坛中的最新帖子:
SELECT p, f.id FROM MyBundle:Post p
JOIN p.forum f
GROUP BY p.forum
HAVING p.created_at >= MAX(p.created_at)

没有HAVING子句它可以工作并提取第一篇文章,但这不是我想要的。我在这里做错了什么?使用DQL是否甚至可能实现这一点?
1个回答

3

当然这是我的错,而不是DQL的。 :) 更新后的查询有点更加复杂,需要使用一个子查询。如果有人知道更好的方法,请告诉我。

SELECT post, f.id as forum_id FROM MyBundle:Post post
JOIN post.forum f
WHERE post.id in (
    SELECT MAX(p.id) FROM MyBundle:Post p
    GROUP BY p.forum
)

这篇博客文章 帮助我完善了我的 SQL 知识。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接