SQLite strftime函数按月分组数据

时间:2014-10-01 17:52:45

标签: sql sqlite

我的表格包含以下结构和数据:

enter image description here

我希望在给定的日期范围内按月分组数据(从2014-01-01到2014-12-31)。几个月的数据无法获得,但我仍然需要在给定月份中得到结果信息。

结果应具有以下格式:

    MONTH   |    DIALS_CNT   | APPT_CNT | CONVERS_CNT | CANNOT_REACH_CNT | 
    2014-01 |    100         | 50       | 20          |  30              |
    2014-02 |    100         | 40       | 30          |  30              |
    2014-03 |      0         |  0       |  0          |   0              |
etc..

WHERE

    APPT_CNT = WHERE call.result = APPT
    CONVERS_CNT = WHERE call.result = CONV_NO_APPT
    CANNOT_REACH_CNT = WHERE call.result = CANNOT_REACH

我如何使用 strftime

使用功能

非常感谢任何帮助或示例。

1 个答案:

答案 0 :(得分:1)

SELECT Month,
       (SELECT COUNT(*)
        FROM MyTable
        WHERE date LIKE Month || '%'
       ) AS Dials_Cnt,
       (SELECT SUM(Call_Result = 'APPT')
        FROM MyTable
        WHERE date LIKE Month || '%'
       ) AS Appt_Cnt,
       ...
FROM (SELECT '2014-01' AS Month UNION ALL
      SELECT '2014-02'          UNION ALL
      SELECT '2014-03'          UNION ALL
      ...
      SELECT '2014-12')