Хорошо, поэтому у меня есть 2 таблицы:
images votes
---------------------------- --------------------
image_id | name | square_id vote_id | image_id
---------------------------- --------------------
1 someImg 14 1 45
2 newImg 3 2 18
3 blandImg 76 3 1
... ...
n n
Это отношение от одного до многих. Каждое изображение может иметь несколько голосов, но голосование может быть связано только с одним изображением. Я пытаюсь создать запрос соединения, который будет показывать идентификатор изображения, и количество голосов, которое оно имеет в определенном состоянии (скажем, на основе square_id
). Таким образом, результат запроса будет выглядеть примерно так:
query_result
----------------------
image_id | vote_count
----------------------
18 46
26 32
20 18
...
55 1
Но самое лучшее, что я могу сделать, это следующее:
query_result
----------------------
image_id | vote_id
----------------------
18 46
18 45
18 127
26 66
26 43
55 1
Увидеть проблему? Каждый image_id
отображается несколько раз за каждый vote_id
, который он имеет. Это запрос, который производит это:
SELECT images.image_id, votes.vote_id
FROM votes JOIN images ON images.image_id=votes.image_id
Я просто не могу создать столбец vote_count
, который является суммой всех голосов, которые есть у этого изображения. Есть ли способ, которым я могу использовать функцию count()
, чтобы это сделать, что я просто не знаю?