MYSQL时间间隔和数据总和根据间隔

时间:2012-01-09 04:41:47

标签: mysql group-by

我有一个表,它会根据一分钟的间隔记录所有数据。现在我想要检索记录,如果时间间隔给定2分钟,它应该添加2分钟间隔的完整记录并显示在屏幕上。 假设表是:

日期|时间|数据

20-11-2011 | 9:00 | 2

20-11-2011 | 9:01 | 3

20-11-2011 | 9:02 | 6

20-11-2011 | 9:03 | 2

20-11-2011 | 9:04 | 1

20-11-2011 | 9:05 | 4

20-11-2011 | 9:06 | 4

因此,如果选择开始日期为20-11-2011,开始时间为9:01,间隔为2分钟,则表格应为:

日期|时间|数据

20-11-2011 | 9:01 | 9

20-11-2011 | 9:03 | 3

20-11-2011 | 9:05 | 8

请帮助我,我是mysql和php的新手

此处:时间是时间戳类型..

1 个答案:

答案 0 :(得分:2)

这应该有效:

SELECT SUM(`data`), MIN(`time)
FROM tblname
WHERE `time` >= '9:01' AND `date` = '2011-11'20
GROUP BY FLOOR((TIME_TO_SEC(`time`) - TIME_TO_SEC('9:01')) / 60 / 2)