10

さて、私は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

これは 1 対多の関係です。各画像は複数の投票を持つことができますが、投票は 1 つの画像にのみ関連付けることができます。イメージ ID と、指定された条件 (たとえば、に基づく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()関数を使用してそうすることができる方法はありますか?

4

2 に答える 2