Я хочу подсчитать, сколько conversations
каждый user
закрыл, и сколько messages
написал каждый user
.Подсчитайте количество ассоциаций
user
имеет много conversations
conversations
имеет много messages
message
может принадлежать к user
Это запрос, я получил некоторые далеко
select a.id, u.display_name, count(c.id) as closed, count(m.id) as replied
from apps a
left join app_users au on au.app_id = a.id
left join users u on u.id = au.user_id
left join conversations c on c.app_id = a.id and c.closed_by_id = u.id
left join messages m on m.conversation_id = c.id and m.user_id = u.id
group by a.id, u.id
order by closed desc
Он отлично работает, когда я не присоединяюсь к сообщениям и просто считая закрытые разговоры. При подключении сообщений колонки closed
и replied
- это то же самое число (и также неверны для обоих)
Любые идеи?
может быть 'граф (отличный c.id)'? – Mike
есть столбец, в котором говорится, что сообщение имеет статус 'closed' или' reply'? –
Нет, но есть 'closed_at', и пользователь ответил на сообщение, если' user_id' сообщения соответствует пользователю, который мы подсчитываем для – Tarlen