Извините за заголовок, я очень плохо разбираюсь в SQL.
У меня есть две таблицы:
Пользователь
id | name
Голосовать
id | user_id | choice
Поле choice
представляет собой enum
, которое может принимать три значения (a
, b
, c
).
Что я пытаюсь сделать:
- Выбрать всех пользователей
- Получить наиболее часто используемых
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 BY
и leftJoin
, но я не могу найти ни способа сделать это, ни точно сформулировать мою проблему.
Надеюсь, вы можете помочь!