Вот моя структура таблицы:Как я могу подсчитать количество всех голосов на одного избирателя?
// users
+----+--------+
| id | name |
+----+--------+
| 1 | Jack |
| 2 | Peter |
| 3 | John |
| 4 | Barman |
| 5 | Ali |
+----+--------+
// vote
+----------+---------------+---------+
| voter_id | owner_post_id | post_id |
+----------+---------------+---------+
| 2 | 3 | 1653 |
| 4 | 2 | 1214 |
| 1 | 1 | 4355 |
| 4 | 2 | 6445 |
| 2 | 2 | 5465 |
| 3 | 2 | 5435 |
+----------+---------------+---------+
А вот мой текущего запрос:
SELECT t2.id AS user_id,
t2.name AS user_name,
t3.id AS voter_id,
t3.name AS voter_name
FROM vote t1
INNER JOIN users t2
ON t1.owner_post_id = t2.id
INNER JOIN users t3
ON t1.voter_id = t3.id
WHERE t1.owner_post_id = 2 AND
t1.voter_id <> t1.owner_post_id
А вот мой выходного тока:
+---------+-----------+----------+------------+
| user_id | user_name | voter_id | voter_name |
+---------+-----------+----------+------------+
| 2 | Peter | 4 | Barman |
| 2 | Peter | 4 | Barman |
| 2 | Peter | 3 | John |
+---------+-----------+----------+------------+
Теперь я хочу добавить еще один столбец в результат, который содержит общее количество голосов на одного избирателя. Так что это ожидаемый результат:
+---------+-----------+----------+------------+-----------+
| user_id | user_name | voter_id | voter_name | total_num |
+---------+-----------+----------+------------+-----------+
| 2 | Peter | 4 | Barman | 2 |
| 2 | Peter | 3 | John | 1 |
+---------+-----------+----------+------------+-----------+
Как я могу это сделать?
Как подсчитать => 'COUNT (?), Как x' –
@ Fred-II- Я знаю, что я должен как использовать' COUNT (COL) 'и' группу by' пункта. Но я не знаю, как использовать их в текущем запросе. – stack
Вы только получаете Петра/Бармена только по вашему запросу? Я думаю, вы должны получить пару дважды, потому что для пары есть две записи голоса. –