我有一张桌子的电子邮件
id date sent_to
1 2013-01-01 345
2 2013-01-05 990
3 2013-02-05 1000
表 2 是响应
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 吗?