访问SQL查询。身份证上有7天的3次重复日期

时间:2014-01-22 17:02:50

标签: sql ms-access

非常感谢任何人的帮助..

我有一个包含大量字段的表,但我要查询的是

'MachineId'< - Id Field

'DateLogged'< - 日期和时间服务呼叫记录

MachineId代表现场的物理机器。我所追求的是,​​该机器在7天内有3次通话记录。不仅是在过去七天,而且在机器的使用寿命期间。

我想返回一个符合此条件的MachineId表。

我正在敲打我的脑袋。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:2)

您可以使用自联接和聚合执行此操作。我们的想法是在表格中的每一行之后的一周内找到任何匹配的记录。然后按原始行聚合并计算匹配数:

select t.MachineId, t.DateLogged, count(*) as NumIncidents
from table t inner join
     table t2
     on t.MachineId = t2.MachineId and
        t2.DateLogged between t.DateLogged and dateadd("d", 6, t.DateLogged)
group by t.MachineId, t.DateLogged
having count(*) >= 3;