我有我的 Widget 销售人员的通话记录。记录客户记录中的每次点击。员工每天可能会多次访问同一个客户帐户,因此在一天中的不同时间,同一记录 ID 下可能会有数十次连续点击。
例子:
recordID userID date_event
33450 321 2013-06-20 16:22:02
33450 321 2013-06-20 16:22:02
33450 321 2013-06-20 16:22:24
33450 321 2013-06-20 16:22:24
22222 321 2013-06-20 16:22:53
22222 321 2013-06-20 16:22:54
12345 321 2013-06-20 16:23:43
12345 321 2013-06-20 16:23:44
12345 321 2013-06-20 16:24:00
12345 321 2013-06-20 16:24:05
12345 321 2013-06-20 16:24:05
12345 321 2013-06-20 18:16:09
12345 321 2013-06-20 18:16:09
33450 321 2013-06-20 18:33:24
33450 321 2013-06-20 18:35:11
33450 321 2013-06-20 18:36:55
12345 321 2013-06-20 19:01:14
98765 321 2013-06-20 19:02:43
在上面的数据集中,我有 6 组访问权限。
first last duration(seconds)
33450 2013-06-20 16:22:02 2013-06-20 16:22:24 22
22222 2013-06-20 16:22:30 2013-06-20 16:22:54 24
12345 2013-06-20 16:23:43 2013-06-20 18:16:09 6746
33450 2013-06-20 18:33:24 2013-06-20 18:36:55 211
12345 2013-06-20 19:01:14 2013-06-20 19:01:14 0
98765 2013-06-20 19:02:43 2013-06-20 19:02:43 0
持续时间是一个估计值,而不是眼睛在记录上的实际时间。我无法检测到员工何时积极使用此应用程序,或者他们何时使用客户端工具在另一个应用程序或网站中查找数据。
表结构为:
CREATE TABLE IF NOT EXISTS `record_log` (
`event_id` int(11) NOT NULL AUTO_INCREMENT,
`userID` int(5) DEFAULT NULL,
`recordID` int(10) DEFAULT NULL,
`date_event` datetime DEFAULT NULL,
PRIMARY KEY (`event_id`),
KEY `userID` (`userID`),
KEY `date_event` (`date_event`),
KEY `recordID` (`recordID`),
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
构造查询以返回第二个数据集的最佳方法是什么?这可以在一个查询中完成而不使用太多循环吗?在给定的一天,我可能会访问数千条记录。