0

2 つのテーブル「マッチ」と「フォーラム」があります。フォーラム テーブルにコメントがあるマッチ テーブルからマッチ情報を取得する必要があるため、次のクエリを使用します。

SELECT distinct forum.match_static_id, matches.* 
from forum 
INNER JOIN matches 
  ON forum.match_static_id = matches.static_id 
WHERE forum.comments_yes_or_no = 1

フォーラム テーブルに複数のコメントがある場合に、同じマッチが 2 回行われるのを避けるために、distinct を使用します。

問題は、同じクエリで各一致コメントの数を取得したいことです。それは可能ですか? 私が使う :

SELECT distinct forum.match_static_id, count(forum.comments), matches.* 
from forum 
INNER JOIN matches 
  ON forum.match_static_id = matches.static_i 
WHERE forum.comments_yes_or_no = 1

しかし、それは私に1つのレコードしか与えません(これは間違っています)。何が問題ですか ??group by を使用する必要がありますか? はいの場合、この混雑したクエリのどこに行くのですか?

4

1 に答える 1

0

これを試してください:

SELECT forum.match_static_id, count(matches.id), matches.* 
from forum 
INNER JOIN matches 
  ON forum.match_static_id = matches.static_i
WHERE forum.comments_yes_or_no = 1
GROUP BY forum.id
于 2013-06-29T16:09:11.313 に答える