2013-07-04 106 views
2

我需要幫助,我需要計算當前活動呼叫的數量。這是我的表:MySql查詢計算瞬間峯值數

+---------------------+---------+ 
| 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年5月14日9時四十○分34秒」活動呼叫的號碼,我應該得到5條記錄,因爲例如,對於第一排電話是在'2013-05-14 09:40:30'和'2013-05-14 09:40:59'之間(calldate + billsec)。

感謝

+0

你在說實時檢查嗎? –

+0

爲什麼是-1?請解釋一下。 –

+0

我很抱歉,(calldate + billsec)是什麼意思? –

回答

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

SQLFIDDLE

更新:
爲了看到金額爲每calldate你可以使用子查詢

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

+0

謝謝,它對於這個日期是可以的,但是如何使它漸進式地計算,例如'2013-05-14 09:40: 30'和'2013-05-14 09:40:34'。我可以在代碼中做到這一點,但它不是重點。感謝您使用SQLfiddle的建議 –

+0

+1。 – dashmug

+0

@NikolaRistivojevic增加了用於計算有效分類的示例。對於增量列表,您可以先生成自己的列表並使用上面的查詢。 – revoua