我试图获取数据的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时间戳,遗憾的是我无法编辑列结构。