Android SQLITE - 如何获得一周中的天数(mo..su),其中包含一周中当天最高行数的小时数?

时间:2015-03-09 08:37:15

标签: sqlite group-by max distinct

我有以下表格结构: enter image description here

我希望获得如下结果:

-------------------------------------------------------------------
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)

但没有运气,因为我总是得到这样的结果:

enter image description here

如何更新查询以获得正确的结果?

非常感谢您的任何建议。

0 个答案:

没有答案