在mysql中按3小时间隔分组

时间:2014-04-07 21:22:34

标签: 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 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。

我们在tstamp列中使用unix时间戳,遗憾的是我无法编辑列结构。

0 个答案:

没有答案