我有一个数据库,可以在用户经过节点时获取用户的 MAC 地址。该节点的位置使得他们在进入和离开场地时必须通过它。我想知道在任何给定时间有多少访客在场(连续会很好,但离散的 X 分钟块也可以)。
通过以下查询,我得到以下结果:
SELECT MACAddress, MIN(fg_HubDataTable.timeOfRec) as entryTime, MAX(fg_HubDataTable.timeOfRec) as exitTime
FROM fg_HubDataTable
WHERE fg_HubDataTable.venueID = 2 AND eventDate = '2013-02-22'
GROUP BY fg_HubDataTable.MACAddress, fg_HubDataTable.eventDate
HAVING TIMESTAMPDIFF(SECOND, MIN(fg_HubDataTable.timeOfRec), MAX(fg_HubDataTable.timeOfRec)) > 120
数据顺序为:MAC地址、进入时间、退出时间
001CB3BAXXXX 2013-02-22 22:05:05 2013-02-23 00:34:09
001F1FA8XXXX 2013-02-23 01:17:06 2013-02-23 02:49:12
002608A8XXXX 2013-02-22 18:09:05 2013-02-22 19:12:05
0026BB9DXXXX 2013-02-22 23:13:03 2013-02-23 01:30:04
0026FF6DXXXX 2013-02-22 23:32:06 2013-02-23 01:26:03