毎日送信された電子メールの数、送信された電子メールのうち、毎日 "エラー" ステータスになったメールの数、および "キュー" ステータスになったメールの数を数えたいと考えています。
これが私のテーブル構造の例です:
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 年 1 月 11 日の 1 つの日付にグループ化されました。
これが私の望ましい結果の例です:
date_sent total errorcount queuecount
2013-02-11 4 1 1
2013-02-12 5 2 1
2013-02-13 3 1 1
どんな援助でも大歓迎です。
私は新しい Web 開発者なので、フォーラムへの投稿は初めてなので、投稿に関するアドバイスや問題があれば参考にしてください。
ありがとう