【发布时间】:2016-06-30 13:45:49
【问题描述】:
我有一个数据库,其中有一个 mac 和一个 timestamp,可以在其中观察到设备。 我想计算我有多少个设备。小时,分辨率为 10 分钟。
我试过了:
SELECT
FROM_UNIXTIME(ROUND(UNIX_TIMESTAMP(`time`)/(60*10))*60*10) AS `time`
,COUNT(DISTINCT data.`mac`) AS `count`
FROM data
GROUP BY FROM_UNIXTIME(ROUND(UNIX_TIMESTAMP(`time`)/(60*10))*10*60);
如果我将它与手动 SELECT 语句进行比较,我只计算 1 小时的时间间隔,这会给出错误的结果。
我想计算 pr 有多少不同的设备。小时分辨率为 10 分钟当量: 在时间间隔 12:00:00 - 13:00:00 中计算不同的 mac 下一个时间间隔应该是 12:10:00 - 13:10 等等...
我正在使用 MYSQL 数据库。
【问题讨论】:
-
选择列表中的
FROM_UNIXTIME(ROUND(UNIX_TIMESTAMP(time)/(60*10))*60*10)是否返回您期望的结果? -
我给了我 10 分钟的时间组。但我没有得到正确的设备数量。