私はこのテーブルを持っています:
+--------------+-----------------------------+----------------+
| Username | Message | Status |
+--------------+-----------------------------+----------------+
| jamesbond | I need some help | SendingOK |
| jamesbond | I need some help | SendingOK |
| jamesbond | I need some help | SendingFailed |
| jamesbond | Mission accomplished | SendingOK |
+--------------+-----------------------------+----------------+
この SQL 構文によって生成されます:
SELECT A.Username, A.Message, B.Status
FROM db1.SmsBroadcast as A
INNER JOIN db2.sentitems as B
ON A.MessageSMS1 = B.TextDecoded
WHERE A.Username = 'jamesbond'
GROUP BY Message, Status
今、この出力を得る方法は?
+--------------+-----------------------------+-----------+---------------+
| Username | Message | SendingOK | SendingFailed |
+--------------+-----------------------------+-----------+---------------+
| jamesbond | I need some help | 2 | 1 |
| jamesbond | Mission accomplished | 1 | 0 |
+--------------+-----------------------------+-----------+---------------+
SendingOK
列は実際にはをSendingFailed
使用して計算できますがCOUNT(*)
、同じメッセージに基づいてカウントする方法がわかりませんが、それらのメッセージは同じ SQL 構文で実行されます。それを行う方法はありますか?