【问题标题】:SQLlite strftime function to get grouped data by monthsSQLite strftime 函数按月获取分组数据
【发布时间】:2014-10-01 17:52:45
【问题描述】:

我有以下结构和数据的表:

例如,我想在给定的日期范围内(从 2014 年 1 月 1 日到 2014 年 12 月 31 日)按月份获取分组数据。某些月份的数据不可用,但我仍然需要在给定月份为结果 0 的结果信息。

结果应具有以下格式:

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

在哪里

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

使用函数strftime我该怎么做?

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

【问题讨论】:

  • 真的没人知道吗?

标签: sql sqlite


【解决方案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')

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 1970-01-01
    • 2021-05-18
    • 2021-11-08
    • 2012-02-20
    • 2020-02-10
    • 1970-01-01
    • 2020-09-17
    相关资源
    最近更新 更多