1
我有一個表'消息',其中包含時間戳和事件作爲字符串。我想要顯示過去30天內發生了多少次不同的事件。爲每個日期選擇多列
所以輸出想:
date event_1 event_2
...
2017-08-01 4 0
2017-08-02 0 0
2017-08-03 5 3
2017-08-04 0 2
...
重要的是每天(即使發生根本沒有事件)將被顯示。
我的代碼如下所示:
SELECT distinct(DATE(MESSAGE.DATEFIELD)) as 'date',
IF(MESSAGE.EVENT = 'event_1', COUNT(MESSAGE.ID), 0) AS 'event 1',
IF(MESSAGE.EVENT = 'event_2', COUNT(MESSAGE.ID), 0) AS 'event 2'
FROM MESSAGE
WHERE DATE(MESSAGE.DATEFIELD) >= DATE(NOW()) - INTERVAL 30 DAY
GROUP BY date, MESSAGE.EVENT
這是行不通的。它爲每個事件添加了多個天。你能指出我的錯誤嗎?謝謝!
作品完美!謝謝 – user1482309