我想计算每天发送了多少封电子邮件,每天发送的电子邮件中有多少处于“错误”状态,以及每天有多少处于“队列”状态。
这是我的表结构的示例:
mail_id (int)
date_sent (datetime)
status (tinyint) (1=queue, 2=sent, 3=error)
这是我的查询:
SELECT date_sent,
COUNT(date_sent) AS total,
SUM(IF(status = 3, 1, 0)) errorcount,
SUM(IF(status = 1, 1, 0)) queuecount
FROM sendmail
GROUP BY date_sent, status
这是我的结果示例:
date_sent total errorcount queuecount
2013-02-11 50 50 10
2013-02-11 1 0 0
2013-02-11 1 0 0
2013-02-11 1 0 0
2013-02-12 1 0 0
2013-02-12 1 0 0
2013-02-12 1 0 0
2013-02-12 1 0 0
2013-02-12 1 0 0
2013-02-13 1 0 0
2013-02-13 1 0 0
2013-02-13 1 0 0
例如,如果在整个时间段内总共有 50 个错误,则所有错误状态电子邮件都被分组到一个日期 2013-01-11,而不是分发到它们发生的日期。
这是我想要的结果的一个例子:
date_sent total errorcount queuecount
2013-02-11 4 1 1
2013-02-12 5 2 1
2013-02-13 3 1 1
任何帮助将不胜感激。
这是我在任何论坛上的第一篇文章,因为我是一名新的网络开发人员,所以任何关于我的帖子的建议或问题都会有所帮助。
谢谢