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

Doctrine 如何计算联接表中的分组结果?,doctrine,doctrine-1.2,Doctrine,Doctrine 1.2,对不起,我不太懂SQL 我有两张桌子: 用户 id | name 投票 id | user_id | choice choice字段是一个enum,它可以取三个值(a,b,c) 我想做的是: 选择所有用户 为每个用户获取最常用的选项 将此选项添加到用户结果中 我试过这个,但不起作用: Doctrine_Query::create() ->select('u.id, u.name') ->addSelect('v.id GROUP BY v.choice') -&g

对不起,我不太懂SQL

我有两张桌子:

用户

id | name
投票

id | user_id | choice
choice
字段是一个
enum
,它可以取三个值(
a
b
c

我想做的是:

  • 选择所有用户
  • 为每个
    用户
    获取最常用的
    选项
  • 将此
    选项添加到用户结果中
我试过这个,但不起作用:

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()
分组依据
leftJoin
有关,但我找不到一种方法来做到这一点,也找不到如何准确地表述我的问题


希望你能帮忙

在投票表中,您可以为同一用户id进行多项选择吗?是的,很抱歉没有提及这一点。投票表也有一个
问题id
(还有一个问题表),但为了简化解释,我把它从我的问题中删除了。