如何计算联接表的分组结果?

时间:2011-08-28 18:36:37

标签: doctrine doctrine-1.2

对不起标题,我对SQL非常不满意。

我有两张桌子:

用户

id | name

投票

id | user_id | choice

choice字段为enum,可以包含三个值(abc)。

我正在尝试做什么:

  • 选择所有用户
  • 为每个choice获取最常用的User
  • 将此choice添加到用户结果

我试过这个,但它不起作用:

Doctrine_Query::create()
  ->select('u.id, u.name')
  ->addSelect('v.id GROUP BY v.choice')
  ->from('User u')
  ->leftJoin('u.Votes v ON v.user_id = u.id')
  ->execute();

我猜它有与COUNT()GROUP BYleftJoin相关的内容,但我找不到办法解决这个问题,也不知道如何准确地表达我的问题。

希望你能帮忙!

0 个答案:

没有答案