2011-07-23 76 views
0

我有這個表日誌最大cuncurrent連接:我需要一個查詢計數爲每個用戶

ID - MACDevice - 用戶名 - 的startDateTime - stopDateTime - 持續時間

我需要填充的統計數據如下表:

MACDevice - MAXConcurrentConnection - DateTimeOccurred

我只需要知道併發連接的每個MacDevice的最高值(當多少),如果需要監視的時間間隔可能是10分鐘後,當我運行查詢(每月一次)我只想查詢新的日誌值,並且只有在greatear比存儲的值時才存儲它們。 任何幫助,歡迎 感謝 LUC

回答

0
SELECT MACDevice, MAX(ConcurrentConnections) AS MAxConnections 
FROM 
    (SELECT log1.*, COUNT(*) AS ConcurrentConnections 
    FROM tableLog AS log1 
     JOIN tableLog AS log2 
     AND log1.startDateTime <= log2.stopDateTime 
     AND log2.startDateTime <= log1.stopDateTime 
    GROUP BY log1.ID 
) AS grp 
GROUP BY MACDevice 

警告:一個大的日誌表,該查詢可能會很慢。

相關問題