Doctrine 如何计算联接表中的分组结果?
对不起,我不太懂SQL 我有两张桌子: 用户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
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
(还有一个问题表),但为了简化解释,我把它从我的问题中删除了。