SQLite Query每隔10分钟获取sum_of_fields

时间:2012-09-18 11:25:57

标签: html5 sqlite

您好我有以下表结构。

RESE_ID DATE_OF_SERVICE TIME_OF_SERVICE NO_OF_ATT_MALE  NO_OF_ATT_FEMALE
      1     2012-09-18       16:17:52        5                1
      2     2012-09-18       16:19:22        1                2
      3     2012-09-18       16:29:12        2                1
      4     2012-09-18       16:37:22        1                4
      5     2012-09-18       16:49:02        6                5
      6     2012-09-18       17:01:52        3                2
      7     2012-09-18       17:19:52        0                1

我只想在最后1小时内每隔10分钟获得(no_of_att_male)的总和,例如(16:00 - 17:00)

像输出shd一样

  RESE_ID DATE_OF_SERVICE  NO_OF_ATT_MALE  NO_OF_ATT_FEMALE    TIME_SLOT
      1     2012-09-18             0                0        16:00 - 16:10   
      2     2012-09-18             6                3        16:11 - 16:20     
      3     2012-09-18             2                1        16:21 - 16:30   
      4     2012-09-18             1                4        16:31 - 16:40    
      5     2012-09-18             6                5        16:41 - 16:50   
      6     2012-09-18             0                0        16:51 - 17:00   

请建议我在sqlite中接受的查询(我在HTML5中使用它)

1 个答案:

答案 0 :(得分:1)

SELECT DATE_OF_SERVICE,
       SUM(NO_OF_ATT_MALE),
       SUM(NO_OF_ATT_FEMALE),
       SUBSTR(TIME_OF_SERVICE, 1, 4) || '0 - ' ||
       SUBSTR(TIME_OF_SERVICE, 1, 4) || '9'       AS TIME_SLOT
FROM mytable
GROUP BY 4

这将产生这样的输出,即没有空时隙的记录:

DATE_OF_SERVICE  SUM(NO_OF_ATT_MALE)  SUM(NO_OF_ATT_FEMALE)  TIME_SLOT
---------------  -------------------  ---------------------  -------------
2012-09-18       6                    3                      16:10 - 16:19
2012-09-18       2                    1                      16:20 - 16:29
2012-09-18       1                    4                      16:30 - 16:39
2012-09-18       6                    5                      16:40 - 16:49
2012-09-18       3                    2                      17:00 - 17:09
2012-09-18       0                    1                      17:10 - 17:19