我有以下表格结构:
我希望获得如下结果:
-------------------------------------------------------------------
DAY | HOUR | DIALS_CNT | APPT_CNT | CONVERS_CNT | CANNOT_REACH_CNT
-------------------------------------------------------------------
1 (note:means monday) | 13 | 20 | 10 | 5 |
-------------------------------------------------------------------
2 | 8 | 30 | 15 | 7 | 13
-------------------------------------------------------------------
3 | 8 | 30 | 15 | 7 | 13
-------------------------------------------------------------------
4 | 0 | 0 | 0 | 0 | 0
-------------------------------------------------------------------
等..(零意味着数据在4天=星期四没有可用值,(周三,如果0是星期日))。
我试着这样做:
SELECT
DISTINCT strftime('%w', dc.date) as day,
strftime('%H', dc.date) as hour,
COUNT(*) AS DIALS_CNT,
SUM(CASE WHEN dc.call_result = 'APPT' THEN 1 ELSE 0 END) AS 'APPT_CNT',
SUM(CASE WHEN dc.call_result = 'CONV_NO_APPT' THEN 1 ELSE 0 END) AS 'CONVERS_CNT' ,
SUM(CASE WHEN dc.call_result = 'CANNOT_REACH' THEN 1 ELSE 0 END) AS 'CANNOT_REACH_CNT'
FROM dialed_calls dc
GROUP BY
strftime('%w', dc.date),
strftime('%H', dc.date)
但没有运气,因为我总是得到这样的结果:
如何更新查询以获得正确的结果?
非常感谢您的任何建议。