我希望每5分钟获得一次数据总和。 我有15个节目。 因为,假设在前5分钟内只查询了一些微粒,并在接下来的5分钟内查询其他一些微粒。 现在,在第二个5分钟内,我需要在5分钟内未被查询的微粒数据 即,在前5分钟内查询了moteid的1,2,3,4,9,12,14,并在第二分钟查询了moteid的1,5,6,7,9,13,14。 在第二个5分钟内,我需要为那些未被查询的数据更新数据。是否可以从前5分钟获得数据
moteid2 | 28 | 2012-09-25 17:45:43 | |
moteid4 | 65 | 2012-09-25 17:45:49 | |
moteid3 | 66 | 2012-09-25 17:45:51 | |
moteid6 | 25 | 2012-09-25 17:45:56 | |
moteid5 | 29 | 2012-09-25 17:45:58 | |
moteid7 | 30 | 2012-09-25 17:46:05 | |
moteid4 | 95 | 2012-09-25 17:50:29 | |
moteid6 | 56 | 2012-09-25 17:50:35 | |
moteid5 | 58 | 2012-09-25 17:50:36 | |
moteid4 | 126 | 2012-09-25 17:55:08 |
在最初的5分钟内,moteid2,moteid3被查询,但在接下来的5分钟内,他们不会被查询。即使他们没有被查询,我也希望现在保留相同的先前查询值。
答案 0 :(得分:1)
我假设表名是motes
。在这种情况下,以下查询显示整个表中存在但在最后5分钟内未查询的记录的所有唯一motesid
:
select distinct m.motesid
from motes m
where not exists (
select *
from motes m1
where
m1.moteid = m.motesid and
m1.date > SUBTIME(CURTIME(), '0:05:00')
)