php - MySql查询计算瞬间峰值数量

标签 php mysql

我需要帮助,我需要计算当前的事件调用数。这是我的 table :

+---------------------+---------+
| calldate            | billsec |
+---------------------+---------+
| 2013-05-14 09:40:30 |      29 |
| 2013-05-14 09:40:31 |      24 |
| 2013-05-14 09:40:31 |      30 |
| 2013-05-14 09:40:33 |      20 |
| 2013-05-14 09:40:34 |      21 |
| 2013-05-14 09:40:35 |      30 |
| 2013-05-14 09:40:36 |      30 |
| 2013-05-14 09:40:37 |      30 |
| 2013-05-14 09:40:37 |      25 |
| 2013-05-14 09:40:39 |      22 |
| 2013-05-14 09:40:39 |      19 |
| 2013-05-14 09:40:40 |      22 |
| 2013-05-14 09:40:41 |      22 |

例如,如果我想计算“2013-05-14 09:40:34”内的事件调用数,我应该获得 5 条记录,因为例如,第一行调用位于“2013-05”之间-14 09:40:30' 和 '2013-05-14 09:40:59' (calldate+billsec)。

谢谢

最佳答案

select count(*) from calls 
where '2013-05-14 09:40:34' between
  calldate and DATE_ADD(calldate,INTERVAL billsec SECOND)  

SQLFIDDLE

更新:
为了查看每个调用日期的金额,您可以使用子查询

select B.calldate
  ,(select count(*) from calls A
  where B.calldate between
    A.calldate and DATE_ADD(A.calldate,INTERVAL A.billsec SECOND)) numcalls
from calls B
group by B.calldate 

SQLFIDDLE

关于php - MySql查询计算瞬间峰值数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17465016/

相关文章:

php - 单击按钮时从数据库中选择随机和唯一的行

php - php中的Mysql更新不会更新错误500

php - 移动mysql_fetch_array指针

mysql - 使用 2 个表中的数据对列进行全文搜索

php - 通过OOP和Mysql进行用户注册

javascript - 将 PHP 代码转换为 JavaScript

php - 如何根据凭证号显示分录

MySQL 按顺序查找每组最近/最大记录

php - MySQL数据库设计——关系表

Mysql统计出现次数