1

テーブルメールがあります

id date sent_to
1 2013-01-01 345
2 2013-01-05 990
3 2013-02-05 1000

table2 は回答です

email_id email  response
1   xyz@email.com   xxxx
1   xyzw@email.com  yyyy
.
.
.

次の形式の結果が必要です。

Month total_number_of_subscribers_sent total_responded
2013-01 1335 2
.
.

これは私のクエリです:

SELECT
DATE_FORMAT(e.date, '%Y-%m')AS `Month`,
    count(*) AS total_responded,
SUM(e.sent_to) AS total_sent
FROM
    responses r
LEFT JOIN emails e ON e.id = r.email_id 
WHERE
e.date > '2012-12-31' AND e.date < '2013-10-01'
GROUP BY
    DATE_FORMAT(e.date, '%Y %m')

total_responded で問題なく動作しますが、結果の結合テーブルに冗長な値があるため、total_sent は数百万単位で狂ってしまいます。

基本的に、別々のテーブルで同じクエリで SUM と COUNT を実行できますか?

4

1 に答える 1