mysql中按3小时间隔分组

mysql中按3小时间隔分组,mysql,intervals,Mysql,Intervals,我正在尝试获取数据的3小时间隔。这是我的疑问: SELECT FROM_UNIXTIME(t_stamp/1000, '%Y-%m-%d %l:%i %p') as t_stamp, AVG(CASE WHEN id = '1' THEN float END) Col1, AVG(CASE WHEN id = '2' THEN float END) Col2, AVG(CASE WHEN id = '3' THEN float END) Col3, AVG(CASE WH

我正在尝试获取数据的3小时间隔。这是我的疑问:

SELECT FROM_UNIXTIME(t_stamp/1000, '%Y-%m-%d %l:%i %p') as t_stamp,
  AVG(CASE WHEN id = '1' THEN float END) Col1,  
  AVG(CASE WHEN id = '2' THEN float END) Col2,
  AVG(CASE WHEN id = '3' THEN float END) Col3,  
  AVG(CASE WHEN id = '4' THEN float END) Col4,
  AVG(CASE WHEN id = '5' THEN float END) Col5,  
  AVG(CASE WHEN id = '6' THEN float END) Col6

FROM database
WHERE id IN ("1", "2", "3", "4", "5", "6") and 

DATE(from_unixtime(t_stamp/1000)) BETWEEN '2014-03-31'
AND '2014-04-01'
and value is not null

GROUP BY
DATE(from_unixtime(t_stamp/1000)), HOUR(from_unixtime(t_stamp/1000)), MINUTE(from_unixtime(t_stamp/1000)) 
DIV 15
我可以得到最长1小时的间隔,但当我需要得到3小时的数据时,我将DIV 15改为DIV 180,但没有得到数据 右输出,数据仍显示1小时间隔

我想我可以很容易地改变DIV


我们在out tstamp列中使用unix时间戳,不幸的是,我不能/不允许编辑列结构。

除非开始使用MySQL datetime或timestamp字段类型,而不是使用unix时间戳,否则这将使编辑变得更加痛苦。不幸的是,我无法编辑表中的时间戳结构。