0

2 つのテーブルがあり、回答者と参加者の総数を数えたい

参加者

  ID  | Name
  -------------
  1     David
  2     John
  3     Mark
  4     Jake

被告

  ID  | event_id | participant_id
  -------------------------------
  1       1           1
  2       1           2
  3       2           3  
  4       2           1
  5       2           2

結果はこのようになります

報告

  ID  | event_id | total_respondent |  number_of_participant
  -------------------------------------------------------
  1       1           2                     4
  2       2           3                     4

私のクエリはこれです..

    SELECT Respondent.event_id, COUNT( Respondent.participant_id) as total_respondent 
FROM  `Respondent`
INNER JOIN participant ON Respondent.participant_id= participant.id
GROUP BY Respondent.event_id

number_of_participant をクエリに含めたいと思います.クエリはどのようになりますか.

4

1 に答える 1

0

このクエリは、両方のイベントの合計参加者数が必要な場合に役立ちます

SELECT event_id, 
       COUNT(participant_id)  AS total_resondents, 
       (SELECT Count(*) 
        FROM   participants) AS participants
FROM   respondents 
GROUP  BY event_id 

SQL Fiddle の例http://www.sqlfiddle.com/#!2/1334e/4/0

于 2013-08-29T08:10:13.177 に答える