【发布时间】:2017-02-01 21:31:01
【问题描述】:
我正在尝试从我的 CDR 中获取并发调用,以通过 MySQL Query 进行星号报告。我看到了其他建议,其中包括 JOIN 和 ON 以及其他一些我不完全了解它们在做什么的调用,因此我无法针对我的应用程序进行调整。
我有多个部门,他们有自己的一组 DID,我需要单独的报告。我当前的脚本是错误的,因为它获取了通话进行时发生的通话次数,这意味着如果从下午 1 点到下午 2 点连接了一个呼叫,它将计算在下午 1 点到 2 点之间发生的所有后续呼叫,这不是我的想。我想要并发呼叫的数量而不是发生的呼叫数量。
我的数据集
calldate | callsource | calldestination | duration | callended
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:00 | 12121111111 | 12031234567 | 120 | 2016-12-01 15:47:00
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:10 | 12122332223 | 12121111111 | 15 | 2016-12-01 15:45:25
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:12 | 12121111111 | 12033254678 | 15 | 2016-12-01 15:45:27
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:20 | 12123333333 | 12031223244 | 50 | 2016-12-01 15:47:10
--------------------| ------------| ----------------| -------- | ---------
2016-12-01 15:45:26 | 12121111111 | 12031231222 | 10 | 2016-12-01 15:45:33
--------------------|-------------|-----------------|----------|----------
2016-12-01 15:45:27 | 12120433322 | 12031456544 | 10 | 2016-12-01 15:45:37
我想知道计费部门的最大并发通话数:
帐单部门的 DID:
1212111111
1212333333
所以上面会输出:
最大并发调用数:3
我正在尝试使用 MySQL 和 PHP 来执行此操作,因此格式和所有内容都与网页端无关。我只需要从 MySQL 查询中取出 3。
我当前的尝试将返回 5,因为它们都发生在第一次调用的开始和结束时间内。
我目前看到这样做的唯一方法是遍历每一行,每行的内循环查看它是否发生在外循环期间,如果超过则增加最大并发数。
想法?
谢谢,
--E
【问题讨论】:
标签: mysql concurrency asterisk